gpt4 book ai didi

ruby-on-rails - Flash 消息在重新加载时仍然存在

转载 作者:行者123 更新时间:2023-12-02 04:53:19 25 4
gpt4 key购买 nike

我有如下所示的简单操作:

def edit_password
end

def update_password
if @user.update(user_params)
redirect_to @user, notice: "Password was successfully changed"
else
flash.now[:notice] = "Password not changed"
render :edit_password
end
end

在我看来,我有:
<% if flash[:error] 
<%=flash[:error] %>
<% end %>

Flash 消息显示正确(当密码未更改时)。但是当我重新加载页面时,消息仍然存在。我相信它应该在页面刷新时消失。我究竟做错了什么?我到处找,这看起来很简单,但我想不通。感谢任何帮助。

最佳答案

我遇到了同样的问题,这是我为解决它所做的。我在 action_controller 中创建了以下方法,并在需要时从我的其他 Controller 调用它作为 before_action 过滤器:

def clear_flash_messages
flash[:notice] = nil
flash['danger'] = nil
flash['success'] = nil
flash[:warning] = nil
end

这将有效地清除任何陈旧的 Flash 消息,并允许您重新开始新的,无论您是简单地重新加载还是重定向。

关于ruby-on-rails - Flash 消息在重新加载时仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25775081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com