2011-03-01 58 views
2

我是Rails的新手。我正在嘗試使用Devise創建用戶管理+登錄系統。除了兩件事情,一切都很好:Rails 3 + devise - 電子郵件+用戶創建

1)有什麼辦法在註冊時刪除「email」字段和/或驗證?當從模型中刪除:validatable時,密碼也不會被驗證。

2)什麼是在系統中進行用戶管理的最佳方式?像重寫設計註冊?

我在谷歌尋找答案和提供的文件,但沒有找到答案。

謝謝。

回答

1

1)您應該刪除:validatable並在用戶模型中編寫自己的驗證。

2)您可以在色器件手動創建用戶:

@user = User.new(:field1 => "something", :field2 => "something else", :password => "secret", :password_confirmation => "secret") 
@user.save 

如果創建的對象傳遞將創建就像用色器件註冊的動作驗證。

+0

1)謝謝 - 有一些很好的教程,針對這種情況? – Orbitum 2011-03-01 19:09:05

+1

2)不,不是角色管理,而是用戶管理。在應用中創建用戶(手動),而不是使用設計「註冊」。也許這有一些好的嘖嘖?據我所知,我需要在插入數據庫之前散列密碼。 – Orbitum 2011-03-01 19:11:10

+0

根據你的評論編輯答案。你不需要自己散列密碼,設計會爲你做到這一點。 – 2011-03-01 19:35:36

1

您可以在用戶模式

+0

它不起作用。我在config/initializers/devise.rb中更改了「authentication_keys」,並添加了上述方法。但仍然是說,電子郵件是強制性的。有任何想法嗎? – Prem 2012-10-11 14:37:52

1

1)不知從哪個版本開始,但至少在那個時候知道什麼時候你在哪裏問你的問題刪除電子郵件驗證與

def email_required? 
    false 
    end 

,在devise github page已經有一個教程如何做到這一點。 他們概述了兩種方式,一種是在這裏描述的,如何管理。你可以保留他們的驗證。

2)至於CRUD用戶,他們也有一個tutorial這是一個更近一點。

希望這仍然可以幫助別人;-)

相關問題