解決したいこと
エラー解決し、ゲストログイン機能を実装したい
現状
ポートフォリオ用にゲストログイン機能を実装したのですが、以下のエラーが発生し正しく挙動しません。
どのような解決法があるでしょうか?
お力をお貸しいただけると幸いです。
エラー文
ruby
1ActiveRecord::RecordInvalid in Users::SessionsController#new_guest 2translation missing: ja.activerecord.errors.messages.record_invalid 3Extracted source (around line #31): 4 def self.guest 5 # 下記コードがエラー部分です。 6 User.find_or_create_by!(email: 'guest@example.com') do |user| 7 user.password = SecureRandom.urlsafe_base64 8 end 9 end
コード記述
sessions_controller.rb
ruby
1class Users::SessionsController < Devise::SessionsController 2 def new_guest 3 user = User.guest 4 sign_in user 5 redirect_to root_path, notice: 'ゲストユーザーとしてログインしました。' 6 end 7end
passwords_controller.rb
ruby
1class Users::PasswordsController < Devise::PasswordsController 2 before_action :check_guest, only: :create 3 4 def check_guest 5 if params[:user][:email].downcase == 'guest@example.com' 6 redirect_to root_path, alert: 'ゲストユーザーの変更・削除はできません。' 7 end 8 end 9end
routes.rb
ruby
1 2Rails.application.routes.draw do 3 devise_for :users, controllers: { 4 registrations: 'users/registrations', 5 passwords: 'users/passwords' 6 } 7 8 devise_scope :user do 9 post 'users/guest_sign_in', to: 'users/sessions#new_guest' 10 end 11 12省略
あなたの回答
tips
プレビュー