当我访问http://example.com/users/1/messages/new时,它说
undefined method `error_message_on' for #<#<Class:0x00000005921d50>:0x0000000591e448>
如果我从视图中删除了包含“error_message_on”的行, 没有出现错误但显示空白页面。太奇怪了:(
消息新视图就是这样的。怎么了? 在此先感谢!!
<% form_for @message, :url => user_messages_path(@user) do |f| %>
<p>
To:<br />
<%= f.text_field :to %>
<%= error_message_on @message, :to %>
</p>
<p>
Subject:<br />
<%= f.text_field :subject %>
<%= error_message_on @message, :subject %>
</p>
<p>
Message<br />
<%= f.text_area :body %>
<%= error_message_on @message, :body %>
</p>
<p>
<%= submit_tag "Send" %>
</p>
<% end %>
答案 0 :(得分:1)
您需要更改用于form_for声明的erb标记。它应该是<%=
而不是<%
。这应该修复空白页面。
至于如何显示错误消息,error_message_on
为deprecated in Rails 2.3.8。您需要使用您的Rails版本支持的内容。 This question might be of use还有this one