前提・実現したいこと
今、DeviseとOmniAuthを用いてユーザー認証(Twitter)するサービスを開発中です。そこで、1点分からないことがあります。
新規登録の際にSign in with Twitterリンクを押すとTwitter認証はされるもののLogin画面に飛んでしまい、Twitter認証だけでログインすることができません。よって、Twitter認証時はemailとpasswordを登録しなくても良いように以下のようにコードを追加しましたが、相変わらずLogin画面に飛んでしまい、エラーも出ないためどこが間違っているのか見当がつきません。
#user.rb def password_required? super && provider.blank? end def email_required? super && provider.blank? end
#new.html.erb <% if f.object.email_required? %> <div class="field"> <%= f.label :email %><br /> <%= f.email_field :email, autofocus: true, autocomplete: "email" %> </div> <% end %> <% if f.object.password_required? %> <div class="field"> <%= f.label :password %> <% if @minimum_password_length %> <em>(<%= @minimum_password_length %> characters minimum)</em> <% end %><br /> <%= f.password_field :password, autocomplete: "off" %> </div> <div class="field"> <%= f.label :password_confirmation %><br /> <%= f.password_field :password_confirmation, autocomplete: "off" %> </div> <% end %>
分かりにくく、素人質問で申し訳ないのですが、もしご回答いただけたら幸いです。
あなたの回答
tips
プレビュー