gpt4 book ai didi

ruby-on-rails - rails 闪存:notice doesn't work

转载 作者:行者123 更新时间:2023-12-03 00:41:25 28 4
gpt4 key购买 nike

我有这个代码:

def create
login(params[:email], params[:password])

if current_user
flash[:notice] = "Welcome back #{current_user.email}"
return redirect_to_first_page
else
flash[:notice] = "Email or password is wrong. Try again !"
redirect_to root_url
end
end

登录成功后,将设置 Flash 并重定向到首页。这部分正在发挥作用。第二部分不设置Flash通知消息。然后,当显示页面时,不会显示来自 Flash 的消息。我尝试过有什么不同

return redirect_to root_url

但仍然没有显示任何内容。在我的 Controller 中,我有一个像 flash_notice 这样的助手,它所做的就是返回 flash[:notice]。这是因为闪存在 View 中始终为空,但在 Controller 中可访问。在 View 中我只有一行:

<%= flash_notice %>

我使用的是 Rails 3.1

最佳答案

Chris Drappier 是正确的,闪存哈希仅适用于一个请求。您可以使用

调用“keep”方法

flash.keep[:notice]="此消息将持续存在"

就我个人而言,我喜欢在需要时将有问题的闪光灯保留在参数中。血淋淋的细节在这里:

http://guides.rubyonrails.org/action_controller_overview.html#the-flash

关于ruby-on-rails - rails 闪存:notice doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7692021/

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