我是很新的Ruby on Rails的,所以请多多包涵:)生成一个新的用户编程(验证逻辑)
我处理Rails中导入.csv文件,我想以编程方式创建新用户(我使用的是AuthLogic宝石以及角色需求),到目前为止我使用:
示例行:
[email protected], Steve, Jobs, 555-APPLE
代码:
def new_user(line)
params = Hash.new
params[:user] = Hash.new
params[:user]["email"] = line[0]
params[:user]["first_name"] = line[1]
params[:user]["last_name"] = line[3]
params[:user]["phone"] = line[4]
user = User.new(params[:user])
user.save
end
问题是,这不会添加一个新用户,它试图但失败(数据库开始后跟回滚),我假设因为我没有填写所有字段,如登录名,密码等等
我是否必须明确地为这些字段生成值?
任何帮助将不胜感激
您可以发布您的用户对象? 另外,你可以使用user.valid?查看用户对象是否有效,并且当您尝试保存时,user.errors数组将包含所有错误的列表。 – 2009-10-22 14:38:33
嗨罗布,感谢回到我身边,似乎从调用user.errors的问题是,我没有指定密码或登录(用户名)。密码问题很容易,因为我可以这样做: password = ActiveSupport :: SecureRandom.base64(6) params [:user] [“password”] =密码 params [:user] [“password_confirmation”] =密码 设置密码,但是如何选择远程用户友好且唯一的登录名? – Chris 2009-10-22 19:28:04