2013-05-09 56 views
0

我在Rails 3中有一個Web應用程序,我希望用戶能夠在FrontPage上註冊。首頁由PagesController控制,註冊過程控制在RegistrationController(我使用設計)。我在首頁添加註冊表單並沒有任何問題,並且當您正確提交表單時,一切都正常。我剛纔呈現形式爲部分:(例如缺少信息)在Rails的另一個頁面上顯示驗證錯誤

<%= render "https://stackoverflow.com/users/registrations/form" %> 

並在窗體我有

<%= simple_form_for(@user, :url => registration_path(@user)) do |f| %> 

但是,如果用戶嘗試與錯誤提交,將在用戶被重定向到標準註冊頁面。錯誤顯示正常,但我希望用戶留在首頁,並顯示錯誤消息。

所以首先我需要再次渲染的FrontPage,當註冊過程失敗,我想顯示錯誤消息,但我還是想標準的註冊頁面通常喜歡的工作。我怎樣才能做到這一點,並保持乾爽?

希望你能幫助我

回答

1

我認爲你需要的是定製頁面有一項登錄失敗後,被重定向到。 Devise redirect after login fail

如果你有註冊表單兩個不同的頁面,你要區分取決於重定向你可以嘗試修改在鏈接中提到的CustomFailure類:

這在對這一問題的回答如下:

def redirect_url 
    if URI(request.referer).path == your_path_for_your_frontpage 
    your_path_for_your_frontpage 
    else 
    your_standard_path 
    end 
end 
+0

謝謝,但我仍然希望正常註冊頁面正常工作。所以我必須測試註冊表單提交請求來自哪裏? – jokklan 2013-05-09 16:22:35

+0

那麼你有兩個註冊頁面可以這麼說嗎? – Galen 2013-05-09 16:25:46

+0

@jokklan我編輯了答案,以防萬一你有兩個註冊頁面 – Galen 2013-05-09 16:32:38

0

你可以簡單地採取了在一個單獨的部分你的「錯誤消息格」,只是呈現在他們兩個。

相關問題