我有这段代码:
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
但是仍然没有显示任何内容。在我的控制器中,我有一个名为flash_notice的帮助程序,它只返回flash[:notice]。这是因为flash在视图中始终为空,但在控制器中可以访问。在视图中,我只有一行:
<%= flash_notice %>
我正在使用Rails 3.1
redirect_to root_url, :notice => "Email or password is wrong. Try again !"
工作吗? - Zabbanotice
代替flash_notice
。 - Hockflash_notice
是由OP定义的控制器上的一个方法。 - Zabbaflash[:notice]
?尝试在相关控制器和视图的各个阶段打印出flash
。 - Zabba