Ruby on rails 使用带有respond_的应答器需要一个块
我运行的是rails 3.2.1,使用的是rails 3响应程序以及responders gem中提供的flash响应程序: 对于我的一些控制器操作,我总是希望重定向回上一个URL,但如果对象是否已创建,则会显示一条flash消息,它看起来如下所示: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
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