我有一个模型中的错误,是是用@ model.errors访问时出现在视图中。然而,他们不显示,如果我尝试做Rails错误不在f.error_messages中显示,但在错误他们是
<%form_for @applicant do |f|%>
<%=f.error_messages%>
This is zero, freakily: <%=f.error_messages.length%>
But this is not: <%[email protected]%>
然而,存在错误,如果我做
@applicant.errors.each
任何建议,我应该去解决呢?这绝对是奇怪的......
否则,表格工作完美。
编辑:感谢ScottD的回答,我弄清楚发生了什么事。我在这里简化了这个问题,但那是问题所在。我真的做此:
<%form_for @applicant.thinger do |f|%>
,这其中就有问题。 form_helper调用的error_messages_for方法需要将事物深入一层(意味着像@applicant这样的实例变量,然后将其转换为:申请人,并且永远不会像@ applicant.status)。谢谢!
+1这工作,但它是没有意义的我。我总是使用f.error_messages,它始终工作。正如它在这里所说,http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html你可以使用FormBuilder实例来获取错误。 – 2009-08-10 18:24:27
我的意思是,谢谢你,如果你有任何建议,为什么它不会与f我想知道请。 – 2009-08-10 18:26:37
我在上面的问题中回答了我自己的问题,并感谢您的回答。 – 2009-08-10 18:50:10