2011-10-20 53 views
4

我開始將Devise用於一個項目,我有點失望,因爲Devise Gem深處的一切都很緊密。我發現創建自定義註冊或登錄過程非常困難。如何使用Ajax,Rails 3和Devise創建註冊表單?

我試圖做的是展示一個簡單的註冊表單上我的網站的任何地方(的解決方案在這裏找到:http://pupeno.com/2010/08/29/show-a-devise-log-in-form-in-another-page/),並與jQuery.post提交,檢索結果,更新錯誤消息和最後註冊用戶。

我在任何地方都找不到這個文件。當我以這種方式提交表格時,我發現了一個表示缺少模板的例外。如果我可以自定義控制器和操作並自己做所有事情,那將會容易得多。

有沒有人有解決方案,鏈接,博客文章,無論幫助我在這裏?謝謝!

回答

4

您可以完全自定義Devise中的每個控制器。所有你需要做的就是創建你的控制器,並將它從設計控制器繼承像這樣:

class RegistrationsController < Devise::RegistrationsController 

然後,您可以覆蓋任何方法中的動作。您可以通過檢查每個控制器方法的Github帳戶來查看所有默認方法。任何你想離開的方法都可以省略掉,或者在方法中調用super。

def new 
    super 
end 

我經常發現我需要定製Devise以這種方式來滿足我的需求。至於您查看需求,您可以通過rails g devise:views安裝Devise視圖,然後將它們複製到您需要的應​​用程序中的任何位置。

最後,我會在他們的Github頁面上檢查Devise wiki。有很多有用的例子,關於如何讓Devise符合你的意願,當然社區也在這裏提供幫助。

+0

謝謝!我明天會看一看(現在是柏林時間凌晨2點30分...) –

相關問題