按所有者过滤groups_collection_select

时间:2015-12-17 12:16:01

标签: ruby-on-rails ruby-on-rails-4 polymorphic-associations grouped-collection-select

我使用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选项是导致此问题的原因,但我无法弄清楚如何仅列出属于特定orgs的{​​{1}}和people

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

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

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

我认为

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

而不是

[Org, Person]

将起作用:)