Ruby on rails 如何将下拉列表限制为基于现有关系的选项

Ruby on rails 如何将下拉列表限制为基于现有关系的选项,ruby-on-rails,ruby,simple-form,Ruby On Rails,Ruby,Simple Form,我有三个相关的模型。 教堂模型、校园模型和用户模型。 用户属于校园,用户属于教堂 一个校园有很多用户,一个校园属于一个教堂 一个教堂有许多使用者,一个教堂有许多校园 所有这些似乎都很好。。。我想 为了拥有一个帐户,用户被分配了一个教堂,但拥有一个校园是可选的。 所以在用户编辑表单中,我需要提供一个下拉选择,仅显示属于用户的校园 我可以在edit.html.erb文件中以简单的形式创建下拉列表,如下所示 <%= f.association :church %> 但是,它会显示系统

我有三个相关的模型。 教堂模型、校园模型和用户模型。 用户属于校园,用户属于教堂 一个校园有很多用户,一个校园属于一个教堂 一个教堂有许多使用者,一个教堂有许多校园

所有这些似乎都很好。。。我想

为了拥有一个帐户,用户被分配了一个教堂,但拥有一个校园是可选的。 所以在用户编辑表单中,我需要提供一个下拉选择,仅显示属于用户的校园

我可以在edit.html.erb文件中以简单的形式创建下拉列表,如下所示

<%= f.association :church %>

但是,它会显示系统中任何教堂都可以使用的所有校园。
限制下拉选项的最佳方式是什么?

简单表单允许使用集合选项限制项目数量,如下所示:

f.association :campus, collection: Campus.where(church_id: current_user.church_id)

Simple form允许使用collection选项限制项目数量,如下所示:

f.association :campus, collection: Campus.where(church_id: current_user.church_id)

太棒了,谢谢你。我知道这应该很容易,只是到处都找不到。太棒了,谢谢。我知道这应该很容易,只是到处都找不到。