我的页面与我的类别相关联 现在我有一个表单,我正在创建Pages
<%= form_for @page do |f| %>
<table>
<tr>
<td><%= f.label :title %></td>
<td><%= f.text_field :title %></td>
</tr>
<tr>
<td><%= f.label :desc %></td>
<td><%= f.text_field :desc %></td>
</tr>
<tr>
<td><%= f.label :category_id %></td>
<td><%= f.select(Page.all, :category_id, :title) %></td>
</tr>
</table>
<%= f.submit %>
<% end %>
我正在尝试创建一个选择下拉列表,它会向我显示我的数据库中的所有类别,在我选择一个后,它会将我正在创建的页面分配给我从中选择的类别选择下拉列表
答案 0 :(得分:3)
答案 1 :(得分:1)
您需要根据此更改您的选择标记。
<%= form_for @page do |f| %>
<table>
<tr>
<td><%= f.label :title %></td>
<td><%= f.text_field :title %></td>
</tr>
<tr>
<td><%= f.label :desc %></td>
<td><%= f.text_field :desc %></td>
</tr>
<tr>
<td><%= f.label :category %></td>
<td><%= f.select(:category_id, options_from_collection_for_select(Category.all, :category_id, :title)) %></td>
</tr>
答案 2 :(得分:0)
对于 Rails3 (或者可能更少),如果您拥有Category
模型,则可以这样做。
f.select(:category, Category.select([:id,:title]).map { |c| [ c.id, c.title ] } , { include_blank: true })
答案 3 :(得分:0)
collection_select
就是您所需要的:
<%= form_for @page do |f| %>
<%= f.collection_select :category_id, Category.all, :id, :title %>
<%= f.submit %>
<% end %>