闪存通知持续存在于rails控制器中

Bee*_*Bee 3 ruby-on-rails ruby-on-rails-3

我有一个控制器,其中包含更新模型属性的更新方法,如果成功则为用户设置闪存通知,然后再次呈现编辑页面.当我加载/呈现页面时,我点击相同闪存通知的下一个链接会再次弹出.这是怎么回事?如何让flash [:notice]只显示一次?为什么它会持续进入下一个响应?

控制器:

def update
  respond_to do |format|
    if @resource.update_attributes(params[:resource])
      flash[:notice] = "Resource successfully updated"
      format.html{ render :action => "edit" }
    else
      format.html{ render :action => "edit" }
    end
  end
end  
Run Code Online (Sandbox Code Playgroud)

tad*_*man 12

如果要立即显示闪光通知,请使用flash.now[:notice]而不是flash[:notice].默认行为是保存闪存直到后续请求被处理,其中now版本将在当前请求完成后清除它.