这是我的代码:
<% if flash.now[:error] %>
<div id='login-error'>
<p id='error-text'><%= flash.now[:error] %></p>
</div>
<% end %>
<% if flash.now[:error] %>
<%= label_tag :email %>
<%= text_field_tag :email, class: "error"%>
<%= label_tag :password %>
<%= password_field_tag :password, class: "error" %>
<% else %>
<%= label_tag :email %>
<%= text_field_tag :email%>
<%= label_tag :password %>
<%= password_field_tag :password%>
<% end %>
如果会话存在验证错误,则在呈现带有Flash的新页面时,文本字段中会显示实际的类名“错误”。该类未应用,但实际的类名称出现在text和password字段中。任何线索为什么会发生这种情况?
具体而言,这是电子邮件字段中显示的内容:{:class =&gt;“error”}
答案 0 :(得分:1)
看看这是否更好(请注意nil
参数):
<%= label_tag :email %>
<%= text_field_tag :email, nil, class: "error" %>
<%= label_tag :password %>
<%= password_field_tag :password, nil, class: "error" %>
对于这些特定的表单助手,options hash必须是第三个参数。第二个参数实际上设置了输入字段的值。