使用具有响应的respon_with的响应者

时间:2012-03-02 08:20:26

标签: ruby-on-rails ruby responders

我正在运行rails 3.2.1并使用rails 3响应器以及响应者gem中可用的闪回响应器:https://github.com/plataformatec/responders

对于我的一些控制器操作,我总是希望重定向回到之前的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

这在rails 3.2.1中运行良好,但似乎已经停止在3.2.2中工作了,似乎已经有一些关于在使用块时如何使用respond_with函数的修改。特别是这个补丁:https://github.com/rails/rails/pull/4870/files

我想知道是否有任何方法可以实现相同的行为,并使用闪回响应器设置闪存消息(我不想手动执行)。

2 个答案:

答案 0 :(得分:0)

您需要创建自己的响应程序,以便始终进行重定向并将其包含在Controller中。

响应者就像Rack :: Middleware。你可以累积它。

答案 1 :(得分:0)

原来是rails 3.2.2 https://github.com/rails/rails/pull/5299

中的一个错误