特別な理由もなくUnkownAttributeErrorが発生していますが、モデルが正しく設定されているようです...
School.rb
class School < ActiveRecord::Base
attr_protected :id, :created_at, :updated_at
#relationships
has_many :users
accepts_nested_attributes_for :users
end
私の学校のモデルには以前は次のものがありましたが、ユーザーフィールドに対してMassAssignmentSecurityエラーが発生しました。
attr_accessible :country, :name, :state_or_province, :users_attributes
User.rb
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :instructor_id, :first_name, :last_name, :school_id
#relationships
belongs_to :school
end
new.html.haml
= simple_form_for @school do |f|
.well
= f.input :name, :as => :hidden
= f.input :country, :as => :hidden
= f.input :state_or_province, :as => :hidden
.well
= f.simple_fields_for @school.users.build do |user_form|
= user_form.input :first_name, :required => true
= user_form.input :last_name, :required => true
= user_form.input :username, :required => true
...
= f.button :submit, "Next"
注:@school
前のページで収集したセッション情報から新しいアクションに入力されているので、マルチステップフォームを作成しています。学校のデータは完全に有効です。ユーザーフォームを削除しても、学校を保存するのに問題はありません。
作成アクションで表示される特定のエラーメッセージ:
SchoolsController#createのActiveRecord :: UnknownAttributeError
不明な属性:ユーザー
そして、送信されたパラメータは次のようになります。
{"school" => {"name" => "Elmwood Elementary"、 "country" => "38"、 "state_or_province" => "448"、 "user" => {"first_name" => "joe"、 "last_name" => "asdas"、 "username" => "asasdads"、 "email" => "asdasd@sdas.ca"、 "password" => "[FILTERED]"、 "password_confirmation" => "[FILTERED ] "}}、" commit"=>"次へ"}
これはおそらくDeviseまたはsimple_formのバグですか?Rails3.2.3を使用しています