Problem saving object

I'm using the Cache-Money gem on this app, and I'm getting this weird error whenever I try to create a new object.

Rails 2.3.5 ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing object and save it.

l = Listing.new l.name = "test" l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Has anyone ever seen this before? Have any ideas of where I should look?

Thanks,

~Jeremy

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing object and save it.

l = Listing.new l.name = "test" l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Something's trying to compare 2 Listing objects, which don't have any such comparison method, apparently.

a = Object.new

=> #<Object:0x1016b0498>

b = Object.new

=> #<Object:0x1016ac848>

a <=> b

NoMethodError: undefined method `<=>' for #<Object:0x1016b0498>   from (irb):22

Unlike, say:

Integer.respond_to?("<=>")

=> true

4 <=> 5

=> -1

5 <=> 4

=> 1

So you need to find where that comparison is being made -- since it's on save possibly some validation?

HTH,

Hassan Schroeder wrote:

NoMethodError (undefined method `<=>' for #<Listing:0x2aaaae156e08>):

This happens even in the console when I try to create a new Listing object and save it.

l = Listing.new l.name = "test" l.save

NoMethodError: undefined method `<=>' for #<Listing:0x2b9595d76350>

Something's trying to compare 2 Listing objects, which don't have any such comparison method, apparently.

a = Object.new

=> #<Object:0x1016b0498>

b = Object.new

=> #<Object:0x1016ac848>

a <=> b

NoMethodError: undefined method `<=>' for #<Object:0x1016b0498>   from (irb):22

Unlike, say:

Integer.respond_to?("<=>")

=> true

4 <=> 5

=> -1

5 <=> 4

=> 1

So you need to find where that comparison is being made -- since it's on save possibly some validation?

HTH, -- Hassan Schroeder ------------------------ hassan.schroeder@gmail.com twitter: @hassan

Yeah, that much I'm certain of. The only thing I don't know is maybe if cache-money does something with that when trying to save an object and throwing it into cache.

This all works perfectly fine on my local machine, just not on the production server. So I figure it's some gem that only does certain things in production. I'm using Geokit too, so if anyone knows of any issue with either of these gems that might cause something like this, please let me know.

Thanks for the help.

~Jeremy

Can't you see from the trace where it is failing?

Colin

Colin Law wrote:

l.name = "test"

a <=> b 5 <=> 4

Yeah, that much I'm certain of. The only thing I don't know is maybe if cache-money does something with that when trying to save an object and throwing it into cache.

This all works perfectly fine on my local machine, just not on the production server. So I figure it's some gem that only does certain things in production. I'm using Geokit too, so if anyone knows of any issue with either of these gems that might cause something like this, please let me know.

Can't you see from the trace where it is failing?

Colin

Yeah, I looked through the trace, and it was nothing but all these cache-money calls. I figured it out though, had nothing to do with cache-money. It was Geokit. I just started commenting out lines until it worked, and taking out acts_as_mappable seemed to have fixed it >.< I'm sure this is a "hack" solution because it doesn't make sense at all. Thanks for the help guys!

~Jeremy