2016年11月6日 星期日

Devise Gem 安裝使用方法

# Gemfile
gem "devise", "~> 4.0.0 "

bundle install

# 設定 Devise
# 安裝 devise 必須檔案
rails g devise:install

# 產生一個有登入功能的 user model
rails g devise user

rake db:migrate

# devise 支援客制修改 template,可以用這行叫出(原本是隱藏的) devise views,以便未來修改
rails g devise:views

重開 rails server


另,Devise 預設其他methods

before_filter :authenticate_user!
放在controller,會自動驗證使用者是否登入,才能使用某些actions
  if yes (已登入 ) => 繼續下面的程序
  if no (未登入)=> 轉到登入畫面
  before_action :authenticate_user!
  上行表示全部action都要使用者登入才能動作
  before_action :authenticate_user!, only: [:new, :edit, :create, :update, :destroy]
  上行表示上面五個action要使用者登入才能動作

user_signed_in?
看一個用戶有沒有登入


current_user
找到現在登入的用戶
  你可以在view裡使用current_user來判斷是否有使用者
  如<% if !current_user %>
  # !variable(跑出布林值的反值,這裡判斷有沒有使用者)
  也可以用它來捉到使用者的欄位,如current_user.name
  如<%= current_user.user %>

user_session
看用戶的session


Devise 的 Github
https://github.com/plataformatec/devise


參考:Rails 101、10天學會Ruby on Rails :Web 2.0 網站架設速成

沒有留言:

張貼留言