0

我有带有通知的标准错误,但我无法使其正常工作。

我正在调用一些 after_filter 来验证更新的数据是否正确。

这是过滤器之前的代码,带有通知:

    after_filter :verify, :on => :update
     def verify.
     ...
       if account_status == "VERIFIED" 
        flash[:success] = "Your account is verified"
      else 
        flash[:error] = "Sorry, your account is not verified or you entered wrong credentials"
      end

因此,当我使用此通知时,重定向到其他页面后会留在我的页面上。

当我使用 flash.now[:notice] 时,我丢失了我的消息并且它们没有显示。

我知道,这是标准问题,但我找不到适合我的解决方案。

此时(点击前)我的帐户未经过验证(数据不正确)。所以我将它们更改为正确点击保存后它向我显示:(http://i.imgur.com/j3uw8.png )但刷新页面后:(http://i.imgur.com/4EtrL.png

4

2 回答 2

1

如果你想设置一个不持久的快速通知,你需要做

flash.now[:notice] = "..."

不是flash[:now]

于 2012-08-19T13:52:20.060 回答
0

如果您希望将 flash 值转移到另一个请求,请使用 keep 方法:

def index
  # Will persist all flash values.
  flash.keep
  redirect_to users_url
end
于 2012-08-19T12:42:46.863 回答