1

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

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

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

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

4

2 回答 2

0

您需要创建自己的响应者来始终执行重定向并将其包含在您的控制器中。

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

于 2012-03-02T08:36:33.187 回答
0

原来是 Rails 3.2.2 中的一个错误https://github.com/rails/rails/pull/5299

于 2012-03-06T15:09:59.963 回答