rails4 将默认 url xxx.com/new_page 更改为 xxx.com/new_page/username
rails4 change default url xxx.com/new_page to xxx.com/new_page/username
我用的是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
在您的 routes.rb
中,更改:
get 'email_confirm' => 'users#email_confirm'
至:
get 'email_confirm/:username' => 'users#email_confirm', as: 'confirmation'
然后,一旦用户注册成功,redirect_to confirmation_path(@user.username)
我用的是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
在您的 routes.rb
中,更改:
get 'email_confirm' => 'users#email_confirm'
至:
get 'email_confirm/:username' => 'users#email_confirm', as: 'confirmation'
然后,一旦用户注册成功,redirect_to confirmation_path(@user.username)