Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用&;紧急通知_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 用&;紧急通知

Ruby on rails 用&;紧急通知,ruby-on-rails,ruby-on-rails-3,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 这段代码只有一个例外。如果我使用某种AJAX访问这个动作,然后访问另一个页面,就会显示flash通知。如何仅在响应时显示f

我的一个控制器中有以下各项:

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
这段代码只有一个例外。如果我使用某种AJAX访问这个动作,然后访问另一个页面,就会显示flash通知。如何仅在响应时显示flash通知:html?我想也许你可以传递一个:notice=>“my flash”给
回复
,但没有运气。

使用如下:

respond_to do |format|
  format.html { redirect_to photo_path(photo), :notice => 'The photos was saved') }
  format.xml  { render :xml => photo, :status => :created}
end

您可以设置如下条件:

flash[:notice] = "The photos was saved" if photo.save && !request.xhr?
另外,如果有一天您决定在响应AJAX请求时使用生成的通知,
你可以使用
flash。放弃
来清除flash。

这是我以前的做法,但我正试图从
respond\u转到
,改为更简洁的
respond\u with
。我不得不投反对票,因为答案没有试图回答海报上关于使用
respond\u with
@lesterbebody的问题,但它确实提供了解决办法。这个问题可能是在答案之后编辑的(尽管我不确定两年前发生了什么)。我对否决票没有异议,但在你行使否决权之前,可能需要更多的思考。