简体   繁体   English

ActiveModel :: MassAssignmentSecurity ::嵌套属性出错

[英]ActiveModel::MassAssignmentSecurity::Error with nested attributes

Hi im trying to create a relation one-to-many in my rails app. 嗨我试图在我的rails应用程序中创建一对多的关系。

Fist i create my models 拳头我创建我的模型

class Produto < ActiveRecord::Base
  attr_accessible :compra, :descricao, :estoque, :venda

  has_many :precos
  accepts_nested_attributes_for :precos
end

class Preco < ActiveRecord::Base
  attr_accessible :compra_decimal, :produto_id, :venda_decimal

  belongs_to :produto
end

Then i created my controller 然后我创建了我的控制器

class ProdutosController < ApplicationController
  def new
    @produto = Produto.new
    @produto.precos.build
  end

  def create
    @produto = Produto.new(params[:produto])

    if @produto.save?
        redirect_to produtos_path
    end
  end
end

After this i created my .html.erb pages: 在此之后我创建了我的.html.erb页面:

_form _形成

<%= form_for @produto do |f| %>
 <p>
    <%= f.label :descricao %><br/>
    <%= f.text_field :descricao %>
 </p>
 <p>
    <%= f.label :compra %><br/>
    <%= f.text_field :compra %>
 </p>
 <p>
    <%= f.label :venda %><br/>
    <%= f.text_field :venda %>
 </p>
 <p>
    <%= f.label :estoque %><br/>
    <%= f.text_field :estoque %>
 </p>
<%= f.fields_for :precos do |builder| %>
 <%= render "precos", :f => builder %>
<% end %>
 <p><%= f.submit %></p>
<% end %>

_precos _precos

<p>
    <%= f.label :venda_decimal %><br/>
    <%= f.text_field :venda_decimal %>
</p>
<p>
    <%= f.label :compra_decimal %><br/>
    <%= f.text_field :compra_decimal %>
</p>

new

<%= render "form" %>

then, when i submit the form this error appears: 然后,当我提交表单时出现此错误:

ActiveModel::MassAssignmentSecurity::Error in ProdutosController#create

Can't mass-assign protected attributes: precos_attributes

does anyone have any idea about it? 有没有人对它有任何想法?

Just change your model: 只需更改您的型号:

class Produto < ActiveRecord::Base
  attr_accessible :compra, :descricao, :estoque, :venda, :precos_attributes

  has_many :precos
  accepts_nested_attributes_for :precos
end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 ActiveModel :: MassAssignmentSecurity :: Error甚至在使用accepts_nested_attributes_for时 - ActiveModel::MassAssignmentSecurity::Error even when using accepts_nested_attributes_for ::加载ActiveModel :: MassAssignmentSecurity错误 - ActiveModel::MassAssignmentSecurity::Error Devise和ActiveModel :: MassAssignmentSecurity :: Error - Devise and ActiveModel::MassAssignmentSecurity::Error ActiveModel :: MassAssignmentSecurity ::错误:无法批量分配受保护的属性 - ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes Ruby on Rails ActiveModel::MassAssignmentSecurity::Error - Ruby on Rails ActiveModel::MassAssignmentSecurity::Error ::加载ActiveModel MassAssignmentSecurity - ActiveModel::MassAssignmentSecurity ActiveModel :: MassAssignmentSecurity :: Error:无法大量分配受保护的属性:名称 - ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: name ActiveModel :: MassAssignmentSecurity ::没有控制器的Rails 4出错 - ActiveModel::MassAssignmentSecurity::Error with Rails 4 without a controller UsersController#create中的ActiveModel :: MassAssignmentSecurity :: Error - ActiveModel::MassAssignmentSecurity::Error in UsersController#create PostsController#update中的ActiveModel :: MassAssignmentSecurity :: Error - ActiveModel::MassAssignmentSecurity::Error in PostsController#update
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM