0

特別な理由もなく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を使用しています

4

1 に答える 1

2

わかりました、どうやらシンボルを提供する必要がありました:users。それが機能するための最初の引数として、関係の名前です。

于 2012-09-28T20:00:26.787 に答える