形成
<%= form_for @entry do |f| %> <% if @entry.errors.any? %> <div ID="error_explanation"> <h2><%= pluralize(@entry.errors.count,"error") %> prohibited this entry from being saved:</h2> <ul> <% @entry.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> <div > <%= f.label :content %><br> <%= f.text_area :content %> </div> <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 %>
强参数
private def entry_params params.require(:entry).permit(:content,:category_IDs) end
进入模式
class Entry < ActiveRecord::Base belongs_to :user has_and_belongs_to_many :categorIEs valIDates :content,:user_ID,presence: trueend
分类模型
class category < ActiveRecord::Base belongs_to :user has_and_belongs_to_many :entrIEsend
加入表格
class EntrIEsCategorIEs < ActiveRecord::Base belongs_to :entry belongs_to :categorIEsend解决方法 用这个:
def entry_params params.require(:entry).permit(:content,:category_IDs => [])end
由于多次选择,您将获得一个数组而不是一个值.因此,在允许params的同时将category_IDs指定为数组
总结以上是内存溢出为你收集整理的ruby-on-rails – Rails集合选择表格不保存HABTM协会全部内容,希望文章能够帮你解决ruby-on-rails – Rails集合选择表格不保存HABTM协会所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)