我有一个使用remote_form_for标记提交的表单。
查看
<% form_remote_tag(:url => { :action => 'create' }) do %>
a bunch of fields
<% end %>
控制器
def create
if @greeting.can_save?
respond_to do |format|
format.html {redirect_to board_link(@board)}
format.js #close the iframe and reload the parent
end
else
respond_to do |format|
format.html {redirect_to :action => 'new'}
format.js #show the errors on the form
end
end
end
create.rjs
page << "parent.$.fancybox.close();"
对于提交的表格,所有信息都正常。但我需要显示无效提交的错误消息。
如果表单未通过验证,如何在表单上显示错误消息?
提前致谢。
答案 0 :(得分:0)
将表单拉出到自己的部分,在页面中呈现部分,为表单提供唯一的ID。
在表单标记内,您应该以任何方式呈现错误,无论是列出它们还是向受影响的字段添加类。
现在在您的RJS中执行以下操作:
if @greeting.valid?
page << "parent.$.fancybox.close();"
else
page.replace 'my_form_id', :partial => 'greetings/form'
end
如果出现错误,将重新呈现表单。确保将@greeting实例变量传递给此表单,以便正确填充字段。