我正在使用grouped_collection_select
在rails应用程序中设置多态关联。我正在使用它来建立Stockholder
与模型Org
和Person
之间的关联。三者都属于一个CCD_ 5。
或者,更详细地说,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 %>
问题是,上面的代码提供了ALL orgs
和people
的列表,而不仅仅是属于手头Company
的列表。我想:all
选项是造成这种情况的原因,但我不知道如何只列出属于特定company
的orgs
和people
。
因此,我的问题是:如何筛选选项,以便只有属于右侧Company
(@company
)的选项可用?
提前感谢!
我不知道,那是什么形式,但你应该依靠公司。
如果是公司的表格,你可以通过f.object
(应该是company
)获得公司
我认为
[f.object.orgs, f.object.persons]
而不是
[Org, Person]
将工作:)