1
我已将我的问题简化为以下内容:f.error_messages
仅显示底部的第一个错误。要复制,请执行下列操作:f.error_messages仅显示底部的第一条错误消息
errors.add_to_base "Error 1"
errors.add_to_base "Error 2"
然后打印的视图(即<%= f.error_messages %>
)消息,并观察,只有“错误1”出现,而不是“错误2”!此外,检查errors.full_messages
并观察它确实存在这两个错误。它的值是["Error 1", "Error 2"]
。
任何人都可以复制此问题吗?更重要的是...谁能告诉我如何获得f.error_messages
打印所有错误?
谢谢!
UPDATE:其实,我有A类HAS_ONE类B.而且我正在为B级的基础,并呼吁A级f.error_messages
它看起来像如果我这样做了之后,它显示的完整列表从B类错误:
<% class_a.fields_for :class_b do |class_b| %>
<%= class_b.object.errors.full_messages.join("<br />") %>
<% end %>
但是如果我叫errors
父,它不工作。
<%= class_a.object.errors.full_messages.join("<br />") %>
这只显示来自B类的第一个错误(即“错误1”)。显然,A类accep_nested_attributes_for:class_b。
最后,我在Rails 2.3.11上。
这不起作用。但实际上我只是发现了另一个难题,我相应地更新了这个问题。它似乎是由我使用嵌套窗体,并将错误添加到子对象的事实造成的。 –