我使用grouped_collection_select
在我的rails应用中设置多态关联。我使用它来建立Stockholder
与模型Org
和Person
之间的关联。这三个都属于Company
。
或者,更详细地说,Stockholder
has_many :people, through: :entity_joins
has_many :orgs, through: :entity_joins
和Company
has_many :people
has_many :orgs
目前grouped_collection_select
的设置如下:
<%= f.grouped_collection_select :global_entity, [Org, Person], :all, :model_name, :to_global_id, :name %>
问题是上面的代码提供了所有orgs
和people
的列表,而不仅仅是那些属于Company
的列表。我认为:all
选项是导致此问题的原因,但我无法弄清楚如何仅列出属于特定orgs
的{{1}}和people
。
所以我的问题是:如何过滤选项,以便只有属于右company
(Company
)的选项可用?
提前致谢!
答案 0 :(得分:2)
我不知道,那是什么形式,但你应该依靠公司。
如果是公司的表格,您可以通过f.object
(应该是company
)来获取公司
我认为
[f.object.orgs, f.object.persons]
而不是
[Org, Person]
将起作用:)