Ruby on rails RubyonRails未经许可的参数具有多个直通
我有order和products,还有一个名为orders\u products的联接表,该订单通过order\u products拥有许多产品,并为其接受嵌套属性 当我试图保存时,它总是说未经许可的参数:order\u product 参数Ruby on rails RubyonRails未经许可的参数具有多个直通,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有order和products,还有一个名为orders\u products的联接表,该订单通过order\u products拥有许多产品,并为其接受嵌套属性 当我试图保存时,它总是说未经许可的参数:order\u product 参数 def order_params params.require(:order).permit(:id, :order_number, :customer_id, {order_products_attributes: [:id, :order, :
def order_params
params.require(:order).permit(:id, :order_number, :customer_id, {order_products_attributes: [:id, :order, :product, :quantity ]}, {:product_ids => []})
end
订单模式
class Order < ActiveRecord::Base
belongs_to :customer
has_many :order_products, class_name: "OrderProduct"
has_many :products, through: :order_products
accepts_nested_attributes_for :order_products, :allow_destroy => true
end
class OrderProduct < ActiveRecord::Base
belongs_to :product
belongs_to :order
end
订单
<%= simple_form_for @order do |f| %>
<%= f.input :order_number %>
<%= f.fields_for :order_product do |fa| %>
<%= fa.input :product, collection: Product.all %>
<%= fa.input :quantity %>
<% end %>
<%= f.association :customer, as: :select %>
<%= f.submit %>
<% end %>
参数哈希-{“utf8”=>“√","真实性令牌“=>”yBrH91u0OHTSPnCFO/484Ff6CRtyRLSg5AKD1Lc33k4=“,“订单”=>{“订单号”=>“0121”,“订单产品”=>{“产品”=>“4”,“数量”=>“5”},“客户id”=>“3”},“提交”=>“创建订单”}
未允许的参数:订购产品此处缺少
s
:
<%= f.fields_for :order_products do |fa| %>
此处缺少
s
:
<%= f.fields_for :order_products do |fa| %>
好的,我添加了这个,现在我得到了不允许的参数:product您的参数现在是什么样子?也许product
需要关联
。你找到@user2829533的解决方案了吗?好的,我现在添加了这个,我得到了不允许的参数:product你的参数现在是什么样子?也许product
需要一个关联<代码>。您找到@user2829533的解决方案了吗??