表題の通り、できでたsignupができなくなった。
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
とバリデーションをコメントアウトで外したらエラーは取れた。