这样的新手问题,但我似乎无法解决这个问题。
如果我有一个简单的Rails 2.3.5表单:
- form_for CardSignup.new do |f|
= f.error_messages
.grid_1.alpha.align_right
= f.label :zip_code, 'zip'
.grid_1.omega.alpha
= f.text_field :zip_code, :style => "width: 75px;"
%div{:class => 'error_message'}
.clear
如何让error_message
出现在表单的顶部,而不是表单的特定位置?
我使用的是= f.error_messages
,但是当它放在表单顶部时,它不会显示任何内容。
答案 0 :(得分:1)
<%= simple_form_for(@boing) do |f| %>
<% if @boing.errors.any? %>
<% flash[:alert] = "stuff" %>
<% end %>
....
现在您不需要<%= flash[:alert] = "stuff" %>
,否则它会在内联和顶部显示为&lt;%=%&gt;用于在浏览器中显示。
希望有所帮助
答案 1 :(得分:0)
为什么在视图中使用CardSignup.new
而不是在控制器中定义@card_signup = CardSignup.new
?如果您这样做,可以致电
<%= @card_signup.error_messages %>
或
<%= error_messages_for :card_signup %>
在视图文件中的任何位置,它将显示@card_signup
对象的错误消息,您可以像这样调用您的表单:
<% form_for @card_signup do |f| %>