Rails если реферер то делай выдачу - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь найти наилучший способ построить оператор if if if в контроллере вокруг реферального рельса.Есть ли способ вытащить последний путь рельсов и использовать его в приведенном ниже утверждении?Я думаю, что я близок, но полностью озадачен ...

Это действие по обновлению, которое будет запущено из одной формы в нескольких местах на сайте.

Я ищу заменить "form_path"

def update
  @object = Milestone.find(params[:id])
    if @milestone.update_attributes(params[:milestone])
      if request.referer == form_path
        redirect_to root_path
      else
        redirect_to object2_path
      end
    else
      ....
    end
 end

1 Ответ

0 голосов
/ 13 июля 2011

Является ли form_path переменной, которую вы определяете где-то еще в контроллере?Помимо понимания этого, похоже, что он должен работать.

Вместо того, чтобы связываться с реферером, вы можете поместить скрытое поле в форму, основанную на том, откуда оно исходит, и извлечь его из хэша params.

Что-то вроде:

hidden_field_tag :location, controller_name

Затем в контроллере:

if params[:location] == yadda yadda
...