2013-07-22 4 views
2

동일한 모델에 대한 참조가있는 모델을 만들려고하는데 문제는 부모 및 자식 특성에 액세스 할 수 없다는 것입니다.레일즈 - belongs_to 및 has_many (같은 클래스) - 부모 및 자식 액세스 방법

모델이다 : 나는, 내 문제에 대한 해결책을 찾을 레일 새로운 메신저 어차피

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> 

:

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 

내가 얻을 콘솔에서 이러한 특성을 얻을 때. 영어로 죄송합니다. 도움에 감사드립니다.

[편집] -이 관계를 시도하고 작동합니다!

belongs_to :socio_padre, :class_name => "Socio" 
has_many :socios_hijo, :class_name => "Socio" , :foreign_key => "socio_padre_id" 

답변