【Rails】Session

ユーザーログインサンプル

rails new xxxx

GemFileでbcrypt有効にし、bundle install

 

  • モデル作成

rails g model user name:string password_digest:string

rake db:migrate

app/models/user.rbにhas_secure_password追記

 

  • コントローラー作成

rails g controller sessions

app/controllers/sessions_controller.rb

 

class SessionsController < ApplicationController
protect_from_forgery with: :null_session

def add_user
user = User.new
user.name = params[:name]
user.password = params[:pass]
user.password_confirmation = params[:pass]
user.save

render text: “OK”
end

def create
user = User.find_by_name params[:name]
if user && user.authenticate(params[:pass])
session[:user_id] = user.id
render text: session[:user_id]
else
render “NG”
end
end

def destroy
session[:user_id] = nil
redirect_to root_path
end

end

 

  • ルーティング設定

config/routes.rb

 

・サーバー起動

rails s

Leave a Reply