我不确定我是否完全跟随你,但这可能会有所帮助。
collection_select你提到的工作是这样的:
collection_select "model_from_where_you_get_data", "id_of_collection", "SQL_query", "value_of_the_field", "names_of_the_fields_which_are_displayed_to_user", "options{}" (no quotes)
所以,例如:
collection_select :fixtures, :home_team, Fixture.select(:home_team).uniq, :home_team, :home_team, prompt: true
您可以通过使用来简化这一点fields_for(顺便说一句,如果您需要将一些数据保存到该关联中,您可以使用它来通过关联访问数据或添加字段)
<%= form_for @prediction do |f| %>
<%= f.fields_for :fixture do |ff| %>
<%= ff.collection_select :home_team, Fixture.select(:home_team).uniq, :home_team, :home_team, prompt: true %>
<% end %>
<% end %>
我可能把复数弄乱了,但如果这是你想要的,那应该不是问题。