我正在尝试创建一个与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 (未初始化的常数 奖::赞助)
我不确定这是不是我做得不好或者我正在尝试的事情 完成不直接支持AS。
真的很感激一些建议。
答案 0 :(得分:0)
我对ActiveScaffold并不熟悉......但是,他们的文档中的快速传递揭示了一个关于has_many的部分:我熟悉ActiveRecords ...因此对于它的价值,你的多态是否有可能关联应该这样写?:
class Organization
has_many :awards, :through => :sponsorship
end
class Individual
has_many :awards, :through => :sponsorship
end
答案 1 :(得分:0)
我不确定你要做什么,但是当说没有“赞助商”时,确实是真的。
当使用多态时,rails会自动创建两个列,在您的情况下:* sponsorship_id *和* sponsorship_type *。
您可能想要使用其中一种。
但是,我不熟悉ActiveScaffold form_ui,所以我无法帮助你。
答案 2 :(得分:0)
我收到了这个错误,但前提是我有一个没有赞助的奖励实例(我的名字不同......)。所以可能OP和后续海报已经过了这个,但是对于未来的读者,请确保在使用与active_scaffold的多态关联时不创建依赖模型的实例...