【发布时间】:2010-04-26 11:30:30
【问题描述】:
我正在创建一个 Ruby on Rails 应用程序,并且正在尝试创建/登录/注销用户。
这是Users 的架构:
create_table "users", :force => true do |t|
t.string "first_name"
t.string "last_name"
t.text "reputation"
t.integer "questions_asked"
t.integer "answers_given"
t.string "request"
t.datetime "created_at"
t.datetime "updated_at"
t.string "email_hash"
t.string "username"
t.string "hashed_password"
t.string "salt"
end
用户的个人信息(用户名、名字/姓氏、电子邮件)通过 POST 填充。其他如questions_asked、reputation等都是应用程序设置的,所以在我们创建新用户的时候应该初始化。现在,我只是在create 方法中为UsersController 手动设置每一个:
def create
@user = User.new(params[:user])
@user.reputation = 0
@user.questions_asked = 0
@user.answers_given = 0
@user.request = nil
...
end
有没有更优雅/更有效的方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails