更新: Ruby 1.8 で実行しています。リポジトリへのリンクは github.com/lauherk/sample_app です
Micheal hartl による Ruby on Rails チュートリアルを進めています。第 9 章では、サンプル ユーザーhttp://ruby.railstutorial.org/chapters/updating-showing-and-deleting-usersをデータベースに入力する際に問題が発生しています。 ?version=3.2#sec:sample_users
私のレーキのコードは次のとおりです。
namespace :db do
desc "Fill database with sample data"
task populate: :environment do
User.create!(:name => "Example User",
:email => "example@railstutorial.org",
:password => "foobar",
:password_confirmation => "foobar")
99.times do |n|
name = Faker::Name.name
email = "example-#{n+1}@railstutorial.org"
password = "password"
User.create!(:name => name,
:email => email,
:password => password,
:password_confirmation => password)
end
end
end
両方を実行した後:
bundle exec rake db:reset
bundle exec rake db:populate
コマンドラインから次のエラーが表示されます。
rake aborted!
Can't mass-assign protected attributes: Lawrence Kertzmann
/Library/Ruby/Gems/1.8/gems/activemodel-3.2.2/lib/active_model/mass_assignment_security/sanitizer.rb:48:in `process_removed_attributes'
(この特定の名前は、レーキを実行するたびに変わります)
ユーザーモデルにコードがあることを確認しました
attr_accessible :name, :email, :password, :password_confirmation
設定も試しました
config.active_record.whitelist_attributes = false
それでも、コマンドラインで同じ結果が得られます。
データベースにサンプル ユーザーを入力するためのヒントはありますか?
どうもありがとう。