게스트 로그인 기능 추가

2789 단어 사용자Railsdevise

소개



오리지널 앱을 작성할 때 내용을 보기 쉽게 하기 위해 버튼 하나로 로그인할 수 있도록 게스트 로그인 기능을 추가했을 때의 비망록입니다.
신규 등록이나 로그인 기능은 devise를 사용하고 있습니다.

guest user 구현



models/users.rb
  def self.guest
    find_or_create_by!(username: 'ゲスト', email: '[email protected]') do |user|
      user.password = SecureRandom.urlsafe_base64
    end
  end

우선 라우팅을 설정합니다.

routes.rb
  devise_scope :user do
    post 'users/guest_sign_in', to: 'users/sessions#new_guest'
  end
new_guest , 작업을 users/sessions_controller.rb에 추가합니다. users 디렉터리는 controllers에 추가되었습니다.

users/sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
  def new_guest
    user = User.guest
    sign_in user
    redirect_to root_path, notice: 'ゲストユーザーとしてログインしました。'
  end
end

마지막으로 버튼 등 view를 추가하면 구현 완료.

application.html.erm
<p class="control">
  <%= link_to 'ゲストログイン', users_guest_sign_in_path, class: "button is-warning is-fullwidth", method: :post %>
</p>

마지막으로



포트폴리오(오리지널 앱)를 보기 위해 매우 중요한 기능 추가. 비교적 간단하게 구현이 가능했습니다.
끝까지 읽어 주셔서 감사합니다

좋은 웹페이지 즐겨찾기