respond_with重定向通知flash消息无效

Ped*_*olo 3 ruby redirect ruby-on-rails ruby-on-rails-3

我正在使用rails 3.0.7.在控制器中我有:

  def create
    @subscription = Subscription\
      .new_from_nested_attributes_parameters(params[:subscription])

    if @subscription.save
      flash[:notice] = 'The Subscription was successfully created.'
    end

    respond_with @subscription
  end
Run Code Online (Sandbox Code Playgroud)

并在视图中:

<%="Notice:#{flash[:notice]}"%>
Run Code Online (Sandbox Code Playgroud)

尽管对象被正确保存,但不打印任何内容.

你对我该如何解决这个问题有所了解吗?

Ped*_*olo 7

我发现了这个问题.

flash [:notice] ="...."正在处理创建操作,重定向到show动作.

我忘记的是我的'节目'包含重定向编辑.

我通过实现这样的show动作来解决这个问题:

def show
  redirect_to edit_subscription_path(@subscription),flash
end
Run Code Online (Sandbox Code Playgroud)

从Rails 3.1开始,这应该通过以下方式完成:

def show
  flash.keep
  redirect_to edit_subscription_path(@subscription)
end
Run Code Online (Sandbox Code Playgroud)