我正在使用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 的保持空白。
答案 0 :(得分:0)
尝试删除此行:
attr_accessor :name