ruby-on-rails – Rails集合选择表格不保存HABTM协会

ruby-on-rails – Rails集合选择表格不保存HABTM协会,第1张

概述在我的Rails表单中,当我在表单中放置多个集合选择选项时,关联不会保存.为什么是这样? 形成 <%= form_for @entry do |f| %> <% if @entry.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(@entry.errors.count, "error") %> pr 在我的Rails表单中,当我在表单中放置多个集合选择选项时,关联不会保存.为什么是这样?

形成

<%= 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协会所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1291040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存