2010-06-09 47 views
0

我在一個視圖中更新用戶配置文件有兩種形式。一種形式是更新我的名字等,另一種是更改我的密碼。如何在一個頁面上將兩種形式的error_message分開?

檔案形式:

- form_for @user, :url => account_path do |f| 
    = f.error_messages 
    ...form fields here... 

密碼錶單:

- form_for @user, :url => account_path do |pf| 
    = pf.error_messages 
    ...password fields here... 

正如你可以看到它們都指向在用戶控制器相同的更新動作。如果我輸入的密碼無效,error_messages都會顯示相同的錯誤消息。

如何爲每個表單輸出單獨的錯誤消息?

回答

2

您需要使用error_message_on來輸出一個特定屬性的錯誤消息。請記住,它的輸出本身並不是很有意義,因爲它缺少默認包含的屬性名稱和標題消息。您可以使用:prepend_text和:append_text自定義消息(查看API文檔以獲取更多信息)。

請注意,對於密碼部分,您只需撥打error_message_on :password即可,但對於其餘表單字段,除了:password之外,您必須爲每個屬性撥打error_message_on一次。你可以寫你自己的幫手來避免這種情況。

相關問題