我得到了这个模型:
class Book < ActiveRecord::Base
mount_uploader :image, ImageUploader
belongs_to :editor
belongs_to :catalog
has_many :catalogs
end
_form.html.erb:
<div class="field">
<%= f.label :catalog_id %><br>
<%= f.collection_select(:catalog_id, @catalogs, :id, :ano, {:prompt => "Segure CTRL para seleção múltipla"}, {:multiple => true}) %>
</div>
控制器:
params.require(:book).permit(:title, :format, :npag, :isbn, :sinopse, :image, :catalog_ids => [])
我可以创建新书但是在show.html.erb中没有出现所选的itens,出了什么问题?
我没有改变节目:
<%= @book.catalog %>
答案 0 :(得分:0)
您应该访问每个对象以打印其内容:
<% @book.catalogs.each do |c| %>
<%= c.year %>
<% end %>
答案 1 :(得分:0)
<%= f.collection_select(:catalog_id, @catalogs, :id, :ano, {:prompt => "Segure CTRL para seleção múltipla", :selected => @catalogs.pluck(:id)}, {:multiple => true}) %>
您必须传递所选的选项... .pluck
将返回一系列目录中的ID ...这取决于您的节目(并编辑该问题)@catalogs = @book.catalogs
的方法