0

にはrails 3.2.12 engine、 がありmodel misc_definitionます。misc_definition モデルの行は次のとおりです。

attr_accessible :brief_note, :for_which, :name, :ranking_order, :as => :role_new

新しい misc_definition を作成するための形式は次のとおりです。

<%= simple_form_for @misc_definition do |f| %>     
  <%= f.input :name, :label => name_label %>
  <%= f.input :brief_note, :label => "Brief Note:", :input_html => {:rows => 2} %> 
  <%= f.input :for_which, :input_html => {:value => @for_which}, :as => :hidden %>
  <%= f.input :ranking_order, :label => 'Ranking Index', :placehoder => '1, 2, 3 ...'%> 
  <%= f.button :submit, 'Save' %>  
<% end %> 

active新しい misc_definition の上記の形式にはありません。エラーrspecは次のとおりです。

ActiveModel::MassAssignmentSecurity::Error←[0m:
       ←[31mCan't mass-assign protected attributes: active←[0m
←[36m     # ./app/controllers/projectx/misc_definitions_controller.rb:29:in `new'←[0m

コントローラーの29行目は次のとおりです。

@misc_definition = Projectx::MiscDefinition.new(params[:misc_definition], :as => :role_new)

すべてのフィールドがリストに追加されるまで、リストに追加activeするとエラーが消えます。ただし、通常の Rails アプリでは、フィールドが のリストに含まれていなくても問題はなく、Rails アプリはフィールドへの値の割り当てをスキップするだけです。ただし、Rails エンジンでは、フォーム new にないフィールドに対してエラーがスローされます。:role_new's attr_accessibleattr_accessibleattr_accessiblemass_assignment

の mass_assign エラーについて考えている人はいますrails engineか? のバグrails engineですか?ありがとう。

4

0 に答える 0