response_with&Flash Notice

Kyl*_*cot 7 ruby-on-rails ruby-on-rails-3

我的一个控制器中有以下内容:

def create

  photo.user = current_user if current_user
  flash[:notice] = "The photos was saved" if photo.save
  respond_with photo, :location => photo_path(photo)

end
Run Code Online (Sandbox Code Playgroud)

此代码有一个例外.如果我使用某种AJAX访问此操作,然后访问另一个页面,则会显示闪存通知.如何在响应时显示闪存通知:html?我想也许你可以通过:notice =>"my flash" respond_with但没有运气.

tar*_*aro 9

你可以把条件放在:

flash[:notice] = "The photos was saved" if photo.save && !request.xhr?
Run Code Online (Sandbox Code Playgroud)

此外,如果某天您在响应AJAX请求时决定使用生成通知,则可以使用flash.discard清除闪存.