В моем начальном файле я пытаюсь создать 3 пользователей, 1 admin
и 2 default
пользователей, но он продолжает назначать всем 3 пользователям роль default
перед созданием.Вот мой код:
User.rb
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :username
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
has_many :user_prices
has_many :products, :through => :user_prices
validates_presence_of :username, :email, :password, :password_confirmation
validates_format_of :username, :with => /\A[a-z0-9]{5,20}\z/i
validates_uniqueness_of :username, :email
before_create :setup_default_role_for_new_users
ROLES = %w[admin default]
private
def setup_default_role_for_new_users
if self.role.blank?
self.role = "default"
end
end
end
Seed.rb
puts 'Loading seed data now....'
user1 = User.create(:email => 'admin@email.com', :role => 'admin')
user2 = User.create(:email => 'user1@email.com')
user3 = User.create(:email => 'user2@email.com')
puts 'Users added'
Я знаю user2и user3 будет иметь роль default
, но user1 должен быть admin
.Как это сделать?