Css 不正确的表单验证
我遇到了一个奇怪的问题。以下是有关闪存的控制器代码:Css 不正确的表单验证,css,ruby-on-rails,ruby,flash,input,Css,Ruby On Rails,Ruby,Flash,Input,我遇到了一个奇怪的问题。以下是有关闪存的控制器代码: def create user = User.find_by(email: params[:email]) if user && user.authenticate(params[:password]) session[:user_id] = user.id redirect_to root_path, notice: "Signed in!" else
def create
user = User.find_by(email: params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_path, notice: "Signed in!"
else
flash.now[:error] = 'Your email or password is incorrect!'
render "new"
end
end
以下是关联的视图代码:
<% if flash.now[:error] %>
<%= label_tag :email %>
<%= text_field_tag :email, nil, class: "error"%>
<%= label_tag :password %>
<%= password_field_tag :password, nil, class: "error" %>
<% else %>
<%= label_tag :email %>
<%= text_field_tag :email%>
<%= label_tag :password %>
<%= password_field_tag :password%>
<% end %>
错误类应导致输入字段变为红色。但是,它们当前会短暂闪烁红色,然后呈现页面。我在这里能做得更好吗
感谢来自文档的:
当需要将对象传递给当前操作时,请立即使用,当前操作完成后,对象将消失
现在通过设置的条目与标准条目的访问方式相同:flash['my-key']
(见附件)
请尝试删除视图中的“.now”,然后改为
<% if flash[:error] %>