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上。
這不起作用。但實際上我只是發現了另一個難題,我相應地更新了這個問題。它似乎是由我使用嵌套窗體,並將錯誤添加到子對象的事實造成的。 –