Когда мой пользователь подписывается, он первоначально перенаправляется на страницу пустого профиля.Как перенаправить на другую страницу в моем приложении?
Однако, мне нужно, чтобы пользователь был перенаправлен на дополнительной информационной странице с тем чтобы получить более подробную информацию
Мои пользователи контроллер выглядит следующим образом
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def additional_info
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
UserMailer.welcome_email(@user).deliver
sign_in @user
redirect_to users: 'additional_info'
flash[:success] = "Welcome to InYourShoes!"
return @user
else
render'new'
end
конца
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
конец
Как вы можете видеть, дополнительная_инфо - это другая страница, которую я пытаюсь для перенаправления. Я знаю, что я создаю 2 объекта пользователей, но я не уверен, что это правильно. Честно говоря, я потерян.
моих маршрутов для страниц это:
resources :users
resources :sessions, only: [:new, :create, :destroy]
match '/additionalinfo',to: 'users#additional_info', via: 'get'
Спасибо за помощь!
Лучше использовать 'get', так как Rails 4 обесценивает' match'. Я отредактирую ответ. – markets
Вы можете объяснить эту деталь как:: Дополнительная_инфо? это потому, что я определил его в своем userController? –
'as' используется для указания имени для любых маршрутов. вы можете указать как:: info, тогда ваш путь станет info_path. –