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] %>