带有 flash 的奇怪文本字段行为
Strange text field behaviour with flash
这是我的代码:
<% 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 的新页面时,实际的 class 名称 'error' 会出现在文本字段中。 class 未应用,但实际的 class 名称出现在文本和密码字段中。知道为什么会这样吗?
具体来说,这是电子邮件字段中显示的内容:{:class=>"error"}
看看这是否更好(注意 nil
参数):
<%= label_tag :email %>
<%= text_field_tag :email, nil, class: "error" %>
<%= label_tag :password %>
<%= password_field_tag :password, nil, class: "error" %>
对于这些特定的表单助手,选项散列必须是第三个参数。第二个参数实际上设置输入字段的值。
这是我的代码:
<% 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 的新页面时,实际的 class 名称 'error' 会出现在文本字段中。 class 未应用,但实际的 class 名称出现在文本和密码字段中。知道为什么会这样吗?
具体来说,这是电子邮件字段中显示的内容:{:class=>"error"}
看看这是否更好(注意 nil
参数):
<%= label_tag :email %>
<%= text_field_tag :email, nil, class: "error" %>
<%= label_tag :password %>
<%= password_field_tag :password, nil, class: "error" %>
对于这些特定的表单助手,选项散列必须是第三个参数。第二个参数实际上设置输入字段的值。