2012-10-27 2 views
0

동일한 모델의 속성을 두 개 이상 가질 수있는 방법을 찾으려면 힘듭니다.레일스 같은 모델의 여러 속성을 모델링합니다.

class Image < ActiveRecord::Base 
    attr_accessible :name, :content_type 
end 

class MenuImage < ActiveRecord::Base 
    belongs_to :image 
    belongs_to :menu 
end 

class Menu < ActiveRecord::Base 
    has_many :menu_images 
    has_many :images, :through => :menu_images 

    has_one :image, :as => :thumbnail_image 

    attr_accessible :thumbnail_image_id 
end 

내가 @menu.images@menu.thumbnail_image를 사용하여 이미지에 액세스 할 수 있도록하려면 :이 구조를했습니다. 코드 has_one :image, :as => :thumbnail_image은 내가 얻으려고하는 것의 예입니다.

+0

안녕하세요, 스택 오버플로에 오신 것을 환영합니다. 게시물에서 인라인 코드를 마크 업하려면 백틱 (\')을 사용해야합니다. –

답변

1

당신은 다르게 이름을하지만, 이미지 클래스를 사용하는 액티브 알려주기 :

has_one :thumbnail_image, :class_name => "Image" 

도 참조 협회 가이드 : http://guides.rubyonrails.org/association_basics.html#has_one-association-reference

+1

그러나 질문은 'belongs_to'대응 물을 가져야하는'Menu'에 관한 것이 었습니다. – jdoe

+0

감사합니다. – Mihai

+0

'belongs_to : thumbnail_image, : class_name => '이미지'가 이제 작동 중입니다. – Mihai

관련 문제