1

我有两个模型,夹具和预测。夹具有很多预测。

我想让用户填写表格来预测分数。夹具模型预先填充了所有夹具,所以我想在预测表格中使用它们,这样我就可以只创建一个新的预测记录

我如何从另一个模型中获取数据并在表单中使用它。我的夹具模型有

:home_team
:away_team
:fixture_date

所以以我想要的形式

Home_team VS Away Team    Enter Home Score   Enter Away Score

为此,我想知道的是如何从夹具模型中访问数据并以表格形式呈现

我会在这里使用 collection_select 吗?虽然我需要单独列出每个灯具,所以我猜这行不通?

任何帮助表示赞赏

谢谢

4

1 回答 1

1

我不确定我是否完全跟随你,但这可能会有所帮助。

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 %>

我可能把复数弄乱了,但如果这是你想要的,那应该不是问题。

于 2013-03-25T23:23:04.317 回答