Rails 4,Devise - 无法从rails控制台更新用户名

时间:2014-02-13 13:37:52

标签: ruby-on-rails ruby devise

我正在使用Ruby on Rails 4设计用户身份验证。

我在从控制台创建用户或从编辑的设计注册视图中遇到问题。我可以设置密码和电子邮件,但我无法设置用户名,我必须创建用户名称,然后使用SQL命令(“UPDATE users SET ...”)从dbconsole更改它。然后我可以使用用户名登录。

我的用户表:

create_table "users", force: true do |t|
    t.string   "name",                default: "", null: false
    t.string   "email",               default: "", null: false
    t.string   "encrypted_password",  default: "", null: false
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",       default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
end

我的用户型号:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :rememberable, :trackable, :validatable

  validates_presence_of :name, :email, :password
  attr_accessor :name   
end

当我尝试

u = User.new
u.name = "test"
来自rails console name

保持空白。

1 个答案:

答案 0 :(得分:0)

尝试删除此行:

  attr_accessor :name