LoginSignup
0

More than 5 years have passed since last update.

[Rails5]twitter認証を取り入れたら、emailを使った登録ができなくなった件

Posted at

表題の通り、できでたsignupができなくなった。

email

DBバグ2.PNG
DBバグ.PNG

emailは既に存在しているとなる。
ログを見ると、Unpermitted parameter: email とある。
DBを見てもemaiデータは入っていない。twiiter認証の方は、emailデータが入ってる。
ストロングパラメーターにemailは入れなくていいと思うんだけど

application_controller.rb
class ApplicationController < ActionController::Base
  # CSRFへのセキュリティ対策
  protect_from_forgery with: :exception
  before_action :configure_permitted_parameters, if: :devise_controller?

  # 省略

  protected
    #
    #パラメーターname,emailを渡せるようにする
    #
    def configure_permitted_parameters
      devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :email])
      devise_parameter_sanitizer.permit(:account_update, keys: [:name, :email])
      devise_parameter_sanitizer.permit(:sign_in, keys: [:name, :email])
    end 

end

とemailを加える事で解決。

uid

twitter登録ではなく普通の登録だからuidデータは必要ないのに、このuidはすでに存在してるとなる。

models/user.rb
#validates :uid, uniqueness: true

とバリデーションをコメントアウトで外したらエラーは取れた。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0