このガイドに従って、移行でモデルを使用します。ここで、type booleanという新しい列suspect
をQuestionテーブルに追加します。デフォルト値はですfalse
。また、作成されたレコードも更新します。これは私の移行ファイルです:
class AddSuspectToQuestions < ActiveRecord::Migration
class Question < ActiveRecord::Base
end
def change
add_column :questions, :suspect, :boolean, default: false
Question.reset_column_information
Question.all.each do |question|
question.update_attributes!(suspect: false)
end
end
end
しかし、実行するrake db:migrate
と、エラーが発生します。
== AddSuspectToQuestions: migrating ==========================================
-- add_column(:questions, :suspect, :boolean, {:default=>false})
-> 0.3782s
rake aborted!
An error has occurred, this and all later migrations canceled:
Can't mass-assign protected attributes: suspect
必要だと思うattr_accesible :suspect
ので、質問モデルに追加しましたが、再度移行を実行しても同じエラーが発生します。私もこれを設定しましたapplication.rb
:
config.active_record.whitelist_attributes = true
誰かがこの問題に遭遇しましたか?