2015-11-24 32 views
0

我的控制器:當在導軌中驗證失敗時,在聯繫我們表單時顯示用戶輸入的數據?

class ContactController < ApplicationController 
    def contact_us 
     @cntus = params[:post] 
     if @cntus != nil 
      @msg="Success" 
     end 
    end 
end 

現在,當用戶輸入無效數據或電子郵件驗證失敗,數據必須出現在已經進入哪些用戶的形式。

+0

如果您嘗試在redirect_to之後顯示數據,則參數將丟失。給我們更多的背景。 – charlysisto

+0

你應該在那裏使用'渲染'。 – PatNowak

回答

0

當它失敗時,您需要渲染new(或edit,如果它是更新)。

@cntus = params[:post] 

if @cntus != nil # check @cntus.save instead (it will validate and save) 
    @msg="Success" 
else 
    render action: :new 
end 

確認,您的形式是爲@cntus

進一步明確,則可以顯示這樣的觀點錯誤(什麼是節約製造麻煩): 它應該是裏面的form_for

<% if @cntus.errors.any? %> 
    <div> 
    <p> 
     <%= pluralize(@cntus.errors.count, "error") %> 
     </br> 
     <%= formatted_error_messages(@cntus) %> 
    </p> 
    </div> 
<% end %> 

希望它有幫助!

相關問題