Условное перенаправление после обновления - PullRequest
0 голосов
/ 20 января 2012

Я хотел бы сделать условное обновление в ruby ​​на рельсах 3.1 В зависимости от того, откуда вы пришли, после обновления будет произведено перенаправление. Я разделил мою 1 большую форму, чтобы разделить меньшие, так что теперь идея состоит в том, чтобы перенаправить на правильную подчиненную форму.

Например, форму можно отправить из:

  • форма профиля основы
  • Форма сведений о профиле

Единственное, что я могу придумать, это проверить имя действия и использовать его для перенаправления. Но это очень уродливый и длинный код, и не полностью работающий. Что было бы на этом пути?

Это действие по обновлению моего контроллера:

def update

    @profile = Profile.find(params[:id])

    respond_to do |format|

     if @profile.update_attributes(params[:profile])
        format.html { redirect_to @profile, notice: 'Profile was successfully updated.' }
      else
        format.html {
          render :action => "edit_basics"
          #

        }
      end
    end
  end

1 Ответ

4 голосов
/ 20 января 2012

Почему бы просто не передать местоположение перенаправления как скрытое_поле в форме, а затем задать для каждой формы его по необходимости:

redirect_to params[:redirect_location]

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

redirect_to location_for_step(params[:step])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...