rails4 изменить URL-адрес по умолчанию xxx.com/new_page на xxx.com/new_page/username - PullRequest
0 голосов
/ 01 мая 2018

Я использовал rails4.2.8 и ruby2.5.0, при регистрации нового пользователя я установил переход новой страницы на http://127.0.0.1:3000/email_confirm, но теперь я хочу изменить URL-адрес на http://127.0.0.1:3000/email_confirm/username, то есть я хочу добавить username к URL-адресу по умолчанию, Как я могу переписать коды? Большое спасибо за вашу помощь ~~

controllers/user_controller.rb коды, подобные этим:

def create
    @user = User.new(user_params)  
    if @user.save
      log_in @user
      flash[:success] = "almost success!"
      redirect_to :email_confirm
    else
      flash.now[:danger] = 'fail to signup!'
      render :new
    end
  end

  def show
    @user = User.find(params[:id])
  end

routes.rb коды, подобные этим:

get 'signup'  => 'users#new'
get 'login'   => 'sessions#new'
get 'profile' => 'users/show'
get 'email_confirm' => 'users#email_confirm'
post 'login'   => 'sessions#create'
delete 'logout'  => 'sessions#destroy'
resources :users

А email_confirm.html.erb в app/views/users/email_confirm.html.erb

1 Ответ

0 голосов
/ 02 мая 2018

В вашем routes.rb измените:

get 'email_confirm' => 'users#email_confirm'

до:

get 'email_confirm/:username' => 'users#email_confirm', as: 'confirmation'

Затем, как только пользователь успешно зарегистрируется, redirect_to confirmation_path(@user.username)

...