7

ActiveScaffold와의 다형성 연관을위한 드롭 다운 선택 상자를 만들려고합니다.ActiveScaffold : 다형성 연관을위한 드롭 다운 선택을 만드는 방법은 무엇입니까?

나는이 :

class Award 
    belongs_to :sponsorship, :polymorphic => :true 
end 

class Organization 
    has_many :awards, :as => :sponsorship 
end 

class Individual 
    has_many :awards, :as => :sponsorship 
end 

와 awards_controller 의 선택 드롭 다운 상자를 만드는 동안 :

config.columns[:sponsorship].form_ui = :select 

내가받을 다음과 같은 오류 :

ActionView::TemplateError (uninitialized constant Award::Sponsorship)

I 그것이 내가 옳은 일을하고 있지 않거나 내가 시도하고있는 일이 아닌지 확실하지 않다. 은 AS에서 직접 지원되지 않습니다.

몇 가지 조언을 주시면 감사하겠습니다.

+0

답변을 찾고 계십니다. .options = now now로 재생 – Devenv

+0

연결을 정상적으로 쿼리 할 수 ​​있습니까? Award.first.sponsorship이 효과가 있습니까? 콘솔을 통해 상과 후원을 만들 수 있습니까? –

+0

전체 스택 트레이스를 제공해 주실 수 있습니까? – Jakub

답변

0

저는 ActiveScaffold에 익숙하지 않습니다 ... 그러나 문서에서 간략히 설명하면 has_many에 대한 절이 나옵니다.이를 통해 ActiveRecords에 익숙합니다 ... 그래서 가치가있는 것이므로 다형성 협회는 다음과 같이 작성해야하는 것은

class Organization 
    has_many :awards, :through => :sponsorship 
end 

class Individual 
    has_many :awards, :through => :sponsorship 
end 
0

내가 당신이 뭘하려는 건지 모르겠어요? :, 그러나 "이 없다고 말하는 경우 레일은 참 마찬가지입니다. '후원

다형성이 사용되면 레일은 자동으로 두 개의 열을 만듭니다. * sponsorship_id * 및 * sponsorship_type *.

그 중 하나를 사용하는 것이 좋습니다.

그러나 저는 ActiveScaffold form_ui에 익숙하지 않아 더 이상 당신을 도울 수 없습니다.

0

이 오류가 발생합니다. 스폰서 십없이 수상의 인스턴스가있는 경우에만 (내 이름이 다릅니다 ...). 아마도 OP와 포스터 포스터가 이것을 지나쳤 겠지만, 미래의 독자들에게는 active_scaffold와의 다형성 연관을 사용할 때 종속 모델의 인스턴스를 만들지 않도록하십시오.

관련 문제