我在一个视图中有两个表单来更新用户配置文件。一个表格是更新我的名字等,一个是更改我的密码。
个人资料表格:
- 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
会向我显示相同的错误消息。
如何为每个表单输出单独的错误消息?
答案 0 :(得分:2)
您需要使用error_message_on
输出一个特定属性的错误消息。请记住,它的输出本身并不是很有意义,因为它缺少error_messages
/ error_messages_for
默认包含的属性名称和标题消息。您可以使用:prepend_text和:append_text来自定义消息(有关详细信息,请参阅API文档)。
请注意,对于密码部分,您只需拨打error_message_on :password
,但对于其余的表单字段,您必须为每个属性调用error_message_on
一次,除了:密码。你可以编写自己的助手来避免这种情况。