按所有者过滤 grouped_collection_select

Filter grouped_collection_select by owner

我正在使用 grouped_collection_select 在我的 rails 应用程序中设置多态关联。我正在使用它在 Stockholder 与模型 OrgPerson 之间建立关联。三个都属于一个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 %>

问题是上面的代码提供了所有 orgspeople 的列表,而不仅仅是属于手头 Company 的列表。我想 :all 选项是造成这种情况的原因,但我不知道如何只列出属于特定 company.[= 的 orgspeople 31=]

所以我的问题是:如何过滤选项,以便只有属于 Company@company)的选项可用?

提前致谢!

我不知道,那是什么形式,但你应该依靠公司。

如果是公司表格,可以通过f.object获取公司(应该是company

我觉得

[f.object.orgs, f.object.persons]

而不是

[Org, Person]

会起作用:)