从 HABTM 中显示和选择
Displaying and selecting from a HABTM
目前我有一个类别和 Post 模型,由 HABTM 关系连接。
Post属于多个类别,具有很多属性。
类别只有一个名称 属性。
如何在 Post 的 _form.html.erb 中创建一个多 select 表单,以便 select 我希望 post 用于哪些类别被分配给?
尝试使用 select
和 collection
。您可能必须更改集合,不确定您希望能够从哪些类别选项中进行选择。像这样:
<%= f.input :post, as: :select, collection: Category.posts, include_blank:false %>
或者查看 collection_select
表单辅助方法
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select
<%= form_for @post do |f| %>
<div>
<%= f.label :category_ids, "Categories" %><br />
<%= f.collection_select :category_ids, Category.order(:name), :id, :name, {}, {multiple: true} %>
</div>
<div>
<%= f.submit 'Submit' %>
</div>
<% end %>
目前我有一个类别和 Post 模型,由 HABTM 关系连接。
Post属于多个类别,具有很多属性。
类别只有一个名称 属性。
如何在 Post 的 _form.html.erb 中创建一个多 select 表单,以便 select 我希望 post 用于哪些类别被分配给?
尝试使用 select
和 collection
。您可能必须更改集合,不确定您希望能够从哪些类别选项中进行选择。像这样:
<%= f.input :post, as: :select, collection: Category.posts, include_blank:false %>
或者查看 collection_select
表单辅助方法
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select
<%= form_for @post do |f| %>
<div>
<%= f.label :category_ids, "Categories" %><br />
<%= f.collection_select :category_ids, Category.order(:name), :id, :name, {}, {multiple: true} %>
</div>
<div>
<%= f.submit 'Submit' %>
</div>
<% end %>