ActiveResource with Json


#1

Hi all. I’m hoping maybe someone can help me out.

I recently switched from using xml to json in my ARe models. I was
excited to see that in irb I was seeing dramatic improvements in
speed. However, when I fired up the app in my browser I got an error
on a local db find based upon an id i had intended to receive through an
ARe record. I opened irb again to investigate:

object = AResource.find(461).id

the ARe record is found, however the id attribute returns as nil,
where as, when I was using xml, I had no problems with it.

(the reaons i’m doing the find(id).id is to demonstrate that the
record returned does not have the id which i used to search for the
record. All other attributes are present, however, the object is also
showing new_record=true, which i’m supposing is the reason it has a
nil id)

Any thoughts on what I can do maintain that id? The only thing I can
come up with is that i have a local model name that is the same as the
object class that is returned from the remote application, though, like
I
said, there was no problem when using xml.

The following is from irb (object1 is the xml request and object2 is
the json request–both point to the same resource)

Code :

object1 = MMTest.find(1)
=> #<MMTest:0x4058328 @prefix_options={}, @attributes={“name”=>“Visa”,
“updated_at”=>nil, “id”=>1, “status”=>1}>

object2 = MMCreditcardType.find(1)
=> #<MMCreditcardType:0x404c4c4 @prefix_options={}, @attributes=
{“creditcard_type”=>#<CreditcardType id: nil, name: “Visa”, status:
true, created_at: nil, updated_at: nil>}>

Thanks in advance,

~Steve