テストアプリを作成していて、Faker gem で問題が発生しました:
私は Devise で Use モデルを作成し、Rolify gem を使用してロールを作成しました。その後、CanCan を使用してユーザーの使用権限を制限します。
そこで、Faker を使用して、rake タスク用のファイルを作成しました。
namespace :db do
desc "Fill dummy DB"
task :populate => :environment do
require "populator"
require "faker"
password = "password"
User.populate 198 do |user|
user.firstname = Faker::Name.first_name
user.lastname = Faker::Name.last_name
user.email = Faker::Internet.email
user.encrypted_password = User.new(:password => password).encrypted_password
user.phone = Faker::PhoneNumber.phone_number
user.address1 = Faker::Address.street_address
user.city = Faker::Address.city
user.state = Faker::Address.state_abbr
user.zip = Faker::Address.zip_code
user.latitude = Faker::Address.latitude
user.longitude = Faker::Address.longitude
end
end
end
このコードは機能し、198 人のダミー ユーザーが作成されます...しかし、users_roles テーブルを調べたところ、何もありません。ユーザーにはロールが割り当てられていません。Faker を介してユーザーに役割を割り当てる方法を見つけようとしていますが、うまくいきません。
を追加しようとしましuser.role_id = User.add_role :user
たが、うまくいきません。
前もって感謝します。