Ответить с перенаправлением с уведомлением не работает - PullRequest
3 голосов
/ 23 мая 2011

Я использую рельсы 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

и в представлении:

<%="Notice:#{flash[:notice]}"%>

Ничего не печатается, несмотря на то, что объект правильно сохраняется.

У вас есть идея, как мне это исправить?

Ответы [ 3 ]

7 голосов
/ 24 мая 2011

Я обнаружил проблему.

flash [: note] = "...." правильно работает над действием create, перенаправляя на действие show.

То, что я забыл, былочто мое «шоу» состоит в редиректе для редактирования.

Я исправил это, реализовав действие show следующим образом:

def show
  redirect_to edit_subscription_path(@subscription),flash
end

Начиная с Rails 3.1, это должно быть выполнено с помощью:

def show
  flash.keep
  redirect_to edit_subscription_path(@subscription)
end
2 голосов
/ 09 ноября 2012

В Rails 3.2 сработает следующее, и, похоже, флэш останется нетронутым:

1 голос
/ 28 августа 2011

Вы можете пропустить страницу шоу:

Вместо:

respond_with @subscription

Положите:

respond_with @subscription, edit_subscription_path(@subscription)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...