使用 Devise,我创建了用户模型,后来我使用迁移向我的模型添加了一个:admin字段。default => false
现在我需要手动创建一个管理员用户,所以在rails控制台中我尝试了:
superadmin = User.create({ :email => 'email@mail.com', :password => '12345678' , :admin=> true })
但得到以下错误:
ActiveModel::MassAssignmentSecurity::Error: 无法批量分配受保护的属性:来自 /var/lib/gems/1.9.1/gems/activemodel-3.2.13/lib/active_model/mass_assignment_security/sanitizer.rb:48 的管理员:在
process_removed_attributes' from /var/lib/gems/1.9.1/gems/activemodel-3.2.13/lib/active_model/mass_assignment_security/sanitizer.rb:20:in
debug_protected_attribute_removal' 来自 /var/lib/gems/1.9.1/gems/activemodel-3.2.13/lib/active_model/mass_assignment_security/sanitizer.rb:12:insanitize' from /var/lib/gems/1.9.1/gems/activemodel-3.2.13/lib/active_model/mass_assignment_security.rb:230:in
sanitize_for_mass_assignment' 来自 /var/lib/gems/1.9.1/ gems/activerecord-3.2.13/lib/active_record/attribute_assignment.rb:75:inassign_attributes' from /var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/base.rb:498:in
initialize' 来自 /var/lib/gems/1.9.1/gems/devise-2.2.4/lib/devise/models/confirmable.rb :46:ininitialize' from /var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/persistence.rb:44:in
new' 来自 /var/lib/gems/1.9.1/gems/activerecord-3.2.13/lib/active_record/persistence.rb:44:increate' from (irb):4 from /var/lib/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in
开始'从 /var/lib/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands/console.rb:8:instart' from /var/lib/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:41:in
' 来自 script/rails:6:inrequire' from script/rails:6:in
'
那么还有另一种手动创建用户的方法吗?(使用命令)