The finished signup form
現在如果填寫有效的資料,按送出之後,會得到下面的錯誤訊息:

因為 Rails 預設會渲染跟 action 相對應的 view,但 create action 並不會對應到 view。
註冊成功之後,不需要渲染頁面,而是要重新導向到另一個頁面。按照慣例,要導向到使用者的個人資料頁面,不過要直接導回首頁(root_path)也是可以。
繼續完成 create action 的程式碼,使用 redirect_to 方法導向頁面:
app/controllers/users_controller.rb
class UsersController < ApplicationController
.
.
.
def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end
其中:
redirect_to @user
其實就等於:
redirect_to user_url(@user)
因為 Rails 看到 redirect_to @user 就知道我們要導向到 user_url(@user)