2011-10-31 38 views
0

有沒有辦法設計,我可以簡單地發送一個包含用戶密碼名稱或電子郵件,它註冊用戶或開始一個新的會議,而不是實際登錄通過形式(我想只需發送用戶名和密碼,並登錄用戶或註冊他)Rails設計參數

+0

確切的dupe http://stackoverflow.com/questions/7954982/rails-devise-url-parameter;投票結束這一個,因爲這個賬戶有一個賬戶。 – Chowlett

回答

2

由於諸多原因,這通常是一個糟糕的主意,但如果您的用例需要它,那麼這樣做並沒有什麼阻礙。

由於設計的用戶記錄只是標準的活動記錄的記錄,你可以使用他們發現者像任何其他對象:

​​

,創造他們大多是像任何其他對象:

u = User.new 
u.username = 'jsmith' 
u.password = 'password' 
u.password_confirmation = 'password' 
u.save 

設計提供了一個valid_password?實例方法,你可以用它來檢查檢索對象的密碼:

u.valid_password?('monkey')

,並從任何控制器,你可以調用sign_in與檢索到的用戶對象:

sign_in(:user, u)

0

你可以做所有的事情,而無需使用設計。在任何其他情況下,您應該重寫設計安全系統。

1

看看制定的「TokenAuthenticable」模塊,這給用戶的唯一登錄鍵,雖然它的與他們的電子郵件或密碼不一樣。