Ruby on rails 使用带有respond_的应答器需要一个块

Ruby on rails 使用带有respond_的应答器需要一个块,ruby-on-rails,ruby,responders,Ruby On Rails,Ruby,Responders,我运行的是rails 3.2.1,使用的是rails 3响应程序以及responders gem中提供的flash响应程序: 对于我的一些控制器操作,我总是希望重定向回上一个URL,但如果对象是否已创建,则会显示一条flash消息,它看起来如下所示: class MyController < ActionController::Base responders :flash respond_to :html def create @my_object = MyObjec

我运行的是rails 3.2.1,使用的是rails 3响应程序以及responders gem中提供的flash响应程序:

对于我的一些控制器操作,我总是希望重定向回上一个URL,但如果对象是否已创建,则会显示一条flash消息,它看起来如下所示:

class MyController < ActionController::Base
  responders :flash
  respond_to :html

  def create
    @my_object = MyObject.create(params[:my_object])
    respond_with @my_object do |format|
      format.html { redirect_to :back }
    end
  end
end
class MyController
这在rails 3.2.1中运行良好,但在3.2.2中似乎已停止工作,在获取块时,似乎对函数的响应方式进行了一些修改。特别是此修补程序:


我想知道是否有任何方法可以实现同样的行为,并使用flash响应程序来设置flash消息(我不想手动设置)。

您需要创建自己的响应程序来随时执行重定向,并将其包含在控制器上


响应程序类似于Rack::Middleware。你可以把它累加起来。

原来是rails 3.2.2中的一个bug