因此,我正在嘗試建立用戶個人資料的鏈接!所以我有這個用戶的控制器:可以隨時重定向到用戶的配置文件。 Ruby on Rails
class UsersController < ApplicationController
def new
#defining the "@user" object for the form_for
@user = User.new
end
#defining a function for the "show" html file
def show
#get user id by URL address
@user = User.find(params[:id])
end
#handling user login succes or failure
def create
@user = User.new(params[:user])
if @user.save
#using "flash" variable Ruby
#flash[:success] = "Welcome to the Sample App!" <<< use this !!
#render success page
redirect_to @user
else
#render failure page (using error partial page)
render 'new'
end
end
#mine to show user profile
def show_user
render 'show'
end
end
,並在我的routes.rb我:
DemoApp::Application.routes.draw do
get "intergration_test/authentication_pages"
#Removed!
#get "users/new"
#ROOT page
root to: 'static_pages#home'
#My routes
match '/user_profile', to: 'users#show_user'
#REST architecture for users
resources :users
#including the Sessions action
resources :sessions, only: [:new, :create, :destroy]
match '/signup', to: 'users#new'
match '/signin', to: 'sessions#new'
#Note the use of via: :delete for the signout route, which indicated that it should be invoked using an HTTP DELETE request
match '/signout', to: 'sessions#destroy', via: :delete
end
那麼,爲什麼
#mine to show user profile
def show_user
render 'show'
end
返回我的錯誤:
undefined method `email' for nil:NilClass
它就像用戶爲空!我已經登錄了!所以我應該有一個用戶活躍。 即使我使用redirect_to @user
它不起作用!幫幫我?