我是很新的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