Rails- Как перенаправить на разные страницы, когда у меня есть пользовательская форма на нескольких страницах?

#ruby-on-rails #ruby-on-rails-4

#ruby-on-rails #ruby-on-rails-4

Вопрос:

Я пытаюсь заставить пользователя следовать определенному пути при регистрации (регистрация, страница анкеты, панель мониторинга), но я сталкиваюсь с проблемами, пытаясь заставить страницу анкеты заниматься своими делами.

Соответствующие биты контроллера:

 def update
@user = current_user

 if @user.save
  redirect_to :back
  flash[:notice] = "Updated!"
 else
  redirect_to :back
  flash[:notice] = "Couldn't save your info"
 end
end


def questionnaire
@user = current_user

 if @user.update_attributes(params[:user])  # just informed this bit of code won't do anything
  redirect_to user_dashboard_path
  flash[:notice] = "Thanks for filling out the questionnaire."
 else
  redirect_to user_introduction_path
  flash[:notice] = "Couldn't save."
 end
end
  

Вот представление, которое я использую на странице анкеты:

 =simple_form_for @user, :url => {:action => "about_yourself"} do |f|
  %p What's your name?
  =f.input :name, label: "Your name, please."
  %p Gender?
  =simple_fields_for :personal_detail do |p|
    = p.input :gender, :collection => %w[Male Female]
  %p Age?
  =f.input :age
  =f.submit "Let's rock"
  

Как мне перенаправить форму на определенную страницу, когда форма в определенном представлении обновляет модель? В основном используйте метод обновления с другой страницы с другим перенаправлением, если мне нужно.

Комментарии:

1. просто мысль, но просто для ясности, когда вы отправляете форму для обновления пользователя, она переходит к update действию. на самом деле вы ничего не добиваетесь с помощью действия if @user.update_attributes(params[:user]) in your questionnaire .

2. Ну, я думаю, что это моя проблема… Я перефразирую свой вопрос, спасибо!

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