显示和选择HABTM

时间:2015-03-27 17:24:55

标签: ruby-on-rails ruby ruby-on-rails-4 has-and-belongs-to-many

目前我有一个分类和发布模型,加入了HABTM关系。

帖子属于多个类别且具有许多属性。

类别只有一个名称属性。

如何在我的帖子_form.html.erb中创建多选表单,以便我可以选择要将帖子分配到哪些类别?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

尝试使用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