从 HABTM 中显示和选择

Displaying and selecting from a HABTM

目前我有一个类别和 Post 模型,由 HABTM 关系连接。

Post属于多个类别,具有很多属性。

类别只有一个名称 属性。

如何在 Post 的 _form.html.erb 中创建一个多 select 表单,以便 select 我希望 post 用于哪些类别被分配给?

尝试使用 selectcollection。您可能必须更改集合,不确定您希望能够从哪些类别选项中进行选择。像这样:

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