Rails - ошибка перенаправления контроллера электронной почты - PullRequest
1 голос
/ 16 марта 2012

У меня есть контроллер, который обрабатывает контактные электронные письма.У меня есть такое действие:

def representative
    @contact = UserContact.new()
    if request.method == 'POST'
     @contact = UserContact.new(params[:merchant_contact])
     if @contact.valid?
      @contact.contact_email = current_user.email
      @contact.contact_phone = current_user.phone_number
      Emailer.representative_contact(@contact, representative).deliver # sends the email
          redirect_to **????**, :flash => { :notice => "Thank you! Someone will get back to you shortly."}
     else
      render :representative
     end
    else
     render :representative
    end
end

Я звоню contact_represenlative_path из разных мест в моем коде, и я хочу, чтобы после отправки перенаправление туда, где пользователь нажал contact_representative_path .Я пытался с: назад, но это просто делает репрезентативное представление.

1 Ответ

0 голосов
/ 16 марта 2012

redirect_to и return не заканчивают запросы, для завершения запроса необходимо добавить return в конце.

Попробуйте с redirect_to contact_representative_path,:flash => { :notice => "Thank you! Someone will get back to you shortly."} and return

UPDATE

В хеше сессии вы можете сохранить запрашивающий URL, который будет доступен для нескольких запросов.session[:return_to] ||= request.referer Затем позвоните redirect_to session[:return_to], :flash => { :notice => "Thank you! Someone will get back to you shortly."}

Проверьте этот вопрос , надеюсь, это решит вашу проблему.

...