-1

ネストされたフォームを作成しようとしていますが、パラメーターを割り当てようとするとこのエラーが発生しました。私はたくさんの同様の投稿を読みましたが、問題を理解することができません。何が間違っている可能性がありますか?

Can't mass-assign protected attributes: detalle_poliza

私のモデル:

poliza_contable.rb

class PolizaContable < ActiveRecord::Base 
has_many :detalle_polizas
accepts_nested_attributes_for :detalle_polizas
  attr_accessible :concepto_poliza, :estatus, :fecha_aplicacion, :fecha_poliza, :no_poliza, :tipo, :tota_de_cargos, :total_de_abonos
end

detalle_poliza.rb

class DetallePoliza < ActiveRecord::Base
      belongs_to :cuenta_contable
      belongs_to :poliza_contable 
      attr_accessible :abono, :cargo,:cuenta_contable_id, :poliza_contable_id, :user_id, :id, :updated_at, :created_at
    end

私のフォーム:

<%= form_for @poliza_contable, :html => { :class => 'form-horizontal' } do |f| %>
## OTHER FIELDS

<%= f.fields_for :detalle_poliza_attributes  do |builder| %>
   <% render :partial => "detalle_polizas/form", :locals => { :f => builder } %>
   <% end %>

<% end %>

レンダリングされたフォーム:

  <div class="control-group">
    <%= f.label :cargo, :class => 'control-label' %>
    <div class="controls">
      <%= f.text_field :cargo, :class => 'text_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :abono, :class => 'control-label' %>
    <div class="controls">
      <%= f.text_field :abono, :class => 'text_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :poliza_contable_id, :class => 'control-label' %>
    <div class="controls">
      <%= f.number_field :poliza_contable_id, :class => 'number_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :cuenta_contable_id, :class => 'control-label' %>
    <div class="controls">
      <%= f.number_field :cuenta_contable_id, :class => 'number_field' %>
    </div>
  </div>
  <div class="control-group">
    <%= f.label :user_id, :class => 'control-label' %>
    <div class="controls">
      <%= f.number_field :user_id, :class => 'number_field' %>
    </div>
  </div>

リクエストパラメータ:

{"utf8"=>"✓",
 "authenticity_token"=>"mI23Nnj4oPX+IW3mCvvIV7Auij+pjX/a7bl/HsudEW8=",
 "poliza_contable"=>{"tipo"=>"Diario",
 "concepto_poliza"=>"",
 "fecha_poliza"=>"2012-06-25",
 "detalle_poliza"=>{"cargo"=>"34",
 "abono"=>"34",
 "poliza_contable_id"=>"34",
 "cuenta_contable_id"=>"34",
 "user_id"=>"1"}}
 "commit"=>"Create Poliza contable"}`

それを修正するためのコメントをいただければ幸いです。

4

2 に答える 2

0

railscast 196 Nested Model Form Part 1によると、DetallePoliza属性を親と一緒に保存できるようにする必要があります。この目標を達成するには、attr_accessible:detalle_polizas_attributesをPolizaContableモデルに追加するだけです。

poliza_contable.rb

class PolizaContable < ActiveRecord::Base 
  has_many :detalle_polizas
  accepts_nested_attributes_for :detalle_polizas
  attr_accessible :concepto_poliza, :estatus, :fecha_aplicacion, :fecha_poliza, :no_poliza, :tipo, :tota_de_cargos, :total_de_abonos, :detalle_polizas_attributes
end
于 2012-06-26T03:17:30.493 に答える
0

いくつかの調査を行ったところ、最終的にnestes_form gemが見つかりました

その非常に簡単な実装です!

それが誰かを助けることを願っています。

于 2012-10-16T23:23:30.177 に答える