ウイザード形式のサインインについて
Ruby on rails
ユーザー機能を実装中に以下のメッセージ、ターミナルに表示され、saveが出来ません。
最後のcreateにsaveする箇所で、rollbackしてしまう。
ターミナルのメッセージ
(0.2ms) BEGIN
User Exists (0.3ms) SELECT 1 AS one FROM users
WHERE users
.email
= BINARY 'b@ne.jp' LIMIT 1
(0.1ms) ROLLBACK
試したこと
カラムにencrypted_passworとなっていたのでencrypted_passwordとコントローラーに記載していたがpasswordに変更
コントローラー
- signup.controller.rb
class
1 2 def index 3 end 4 5 def registration 6 @user = User.new 7 end 8 9 def sms_confirmation 10 session[:nickname] = user_params[:nickname] 11 session[:email] = user_params[:email] 12 session[:password] = user_params[:password] 13 session[:password_confirmation] = user_params[:password_confirmation] 14 session[:last_name] = user_params[:last_name] 15 session[:first_name] = user_params[:first_name] 16 session[:last_jp_name] = user_params[:last_jp_name] 17 session[:first_jp_name] = user_params[:first_jp_name] 18 session[:year_id] = user_params[:year_id] 19 session[:month_id] = user_params[:month_id] 20 session[:day_id] = user_params[:day_id] 21 @user = User.new 22 end 23 24 def address 25 session[:tel] = user_params[:tel] 26 @user = User.new 27 end 28 29 def create 30 session[:zip_code] = user_params[:zip_code] 31 session[:prefecture_id] = user_params[:prefecture_id] 32 session[:city] = user_params[:city] 33 session[:address] = user_params[:address] 34 session[:building] = user_params[:building] 35 session[:telephone] = user_params[:telephone] 36 @user = User.new( 37 nickname: session[:nickname], 38 email: session[:email], 39 password: session[:password], 40 password_confirmation: session[:password_confirmation], 41 last_name: session[:last_name], 42 first_name: session[:first_name], 43 last_jp_name: session[:last_jp_name], 44 first_jp_name: session[:first_jp_name], 45 year_id: session[:year_id], 46 month_id: session[:month_id], 47 day_id: session[:day_id], 48 tel: session[:tel], 49 zip_code: session[:zip_code], 50 prefecture_id: session[:prefecture_id], 51 city: session[:city], 52 address: session[:address], 53 building: session[:building], 54 telephone: session[:telephone] 55 ) 56 if @user.save 57 session[:id] = @user.id 58 redirect_to done_sign_up_index_path 59 else 60 render '/signup/registration' 61 end 62 end 63 64 def done 65 sign_in User.find(session[:id]) unless user_signed_in? 66 end 67 68 private 69 def user_params 70 params.require(:user).permit( 71 :nickname, 72 :email, 73 :password, 74 :password_confirmation, 75 :last_name, 76 :first_name, 77 :last_jp_name, 78 :first_jp_name, 79 :year_id, 80 :month_id, 81 :day_id, 82 :tel, 83 :zip_code, 84 :prefecture_id, 85 :city, 86 :address, 87 :building, 88 :telephone 89 ) 90 end 91end 92
address.htm.haml .signupMain__inner.signupMain__inner--registrationForm = form_for @user, url: signup_index_path, method: 'POST', class: 'signupMain__inner signupMain__inner--registrationForm' do |f|
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 13:58