Hello,
I just ran into a strange error. In console I typed in following:
ruby-1.9.2-p290 :120 > User.first.to_json
User Load (0.7ms) SELECT users
.* FROM users
LIMIT 1
=>
“{“avatar_id”:10,“email”:“[email protected]”,“firstname”:“Peter”,“lastname”:“L”,“user_role_id”:11}”
and when I try that with an avatar:
ruby-1.9.2-p290 :121 > Avatar.first.to_json
Avatar Load (0.5ms) SELECT avatars
.* FROM avatars
LIMIT 1
NoMethodError: Attribute Load (0.8ms) SELECT attributes
.* FROM
attributes
WHERE attributes
.avatar_id
= 10
undefined method `keys’ for #ActiveRecord::Relation:0x007fb6a3e69518
Why on earth can I convert the user model to json but not the avatar?!
Any suggestions appreciated!
Hans
On 5 October 2011 16:00, Heinz S. [email protected] wrote:
Avatar Load (0.5ms) SELECT avatars
.* FROM avatars
LIMIT 1
NoMethodError: Attribute Load (0.8ms) SELECT attributes
.* FROM
attributes
WHERE attributes
.avatar_id
= 10
undefined method `keys’ for #ActiveRecord::Relation:0x007fb6a3e69518
Can you show us the start of avatar.rb and attribute.rb?
Also I just wonder whether attribute is a reserved word in RoR.
Colin
You received this message because you are subscribed to the Google G. “Ruby
on Rails: Talk” group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.
–
gplus.to/clanlaw
Ehm, yes.
Changing it to
has_many :avatar_attributes, :class_name => ‘Attribute’
did the trick.
Thanks a lot for the hint, Colin!
On 5 October 2011 16:32, Heinz S. [email protected] wrote:
Ehm, yes.
Changing it to
has_many :avatar_attributes, :class_name => ‘Attribute’
did the trick.
Thanks a lot for the hint, Colin!
Glad to be of help.
Colin
–
gplus.to/clanlaw
Oh, yeah. You might be right with the reserved word!
avatar.rb:
class Avatar < ActiveRecord::Base
attr_accessible :name, :level, :current_xp, :overall_xp, :gender_cd
as_enum :gender, :female => 0, :male => 1
has_one :user
has_many :attributes
…
attribute.rb:
class Attribute < ActiveRecord::Base
belongs_to :attribute_type
belongs_to :avatar
Do I need to rename the whole model now?