我正在尝试构建一个引用同一模型的模型,问题是我无法访问父属性和子属性。
模型是:
class Socio < ActiveRecord::Base
attr_accessible :socio_padre_id
belongs_to :socio_padre, :class_name => "Socio", :foreign_key => "socio_id"
has_many :socios_hijo, :class_name => "Socio"
end
当我尝试在控制台上获取这些属性时,我得到:
1.9.2p320 :049 > Socio.last.socio (tab)
Socio.last.socio Socio.last.socio_padre_id? Socio.last.socio_path
Socio.last.socio= Socio.last.socio_padre_id_before_type_cast Socio.last.socio_url
Socio.last.socio_ids Socio.last.socio_padre_id_change Socio.last.socios
Socio.last.socio_ids= Socio.last.socio_padre_id_changed? Socio.last.socios=
Socio.last.socio_padre_id Socio.last.socio_padre_id_was Socio.last.socios_path
Socio.last.socio_padre_id=
1.9.2p320 :049 > Socio.last.socio_padre
Socio Load (1.0ms) SELECT "socios".* FROM "socios" ORDER BY "socios"."id" DESC LIMIT 1
NoMethodError: undefined method `socio_padre' for #<Socio:0x00000004430fe0>
我找不到我的问题的解决方案,我是 Rails 新手。对不起我的英语,谢谢你的帮助!
[编辑] - 我尝试这种关系和作品!
belongs_to :socio_padre, :class_name => "Socio"
has_many :socios_hijo, :class_name => "Socio" , :foreign_key => "socio_padre_id"