Rails 簡単な簡単ログイン機能の追加


欲しい結果

"簡単ログイン"のボタンを押すと、
登録済みのゲストユーザーでログインするボタンの設置。

前提条件

RailsチュートリアルをベースにしたWEBアプリ。

やること

  1. sessions_controllerのcreateアクションとは別にeasy_loginアクションを作成して登録済みのゲストユーザーの emailを渡す。
  2. routs.rbにeasy_loginのルーティングを記載。
  3. viewで簡単ログインボタンを設置する。

  4. sessions_controller.rbに作成して登録済み(seeds.rb)の
    ゲストユーザーでログインできる様にeasy_loginアクションを追記する。

sessions_controller.rb
    def easy_login
      user = User.find_by(email: "[email protected]")
          log_in user #session_helperで事前に定義ずみ。
          redirect_back_or user #session_helperで事前に定義ずみ。
    end  
  1. config/routes.rbで以下を追記  
config/routes.rb
  post   '/easy_login',   to: 'sessions#easy_login'
  1. app/views/sessions/new.html.erbの任意の場所に以下を追記
app/views/sessions/new.html.erb
<p><%= link_to "簡単ログイン", easy_login_path, method: :post, class: 'btn btn-primary' %></p>

結果

とりあえずは簡単ログインボタンから、ゲストユーザーでのログインができた。