0

Lors de l'utilisation de concevoir avec omniauth-google-oauth2 gem il ya un lien généré dans partials pour se connecter avec Google. Le code par défaut ne rend pas les liens.Erreur omniumuth google oath: méthode indéfinie `stringify_keys 'pour"/users/auth/google_oauth2 ": Chaîne

est ici l'extrait autogenerated (auquel j'ai ajouté un peu de style à base d'amorçage)

<%- if devise_mapping.omniauthable? %> 
    <%- resource_class.omniauth_providers.each do |provider| %> 
    <%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider), class: "btn btn-block btn-social btn-google" do %> 
     <span class="fa fa-google"></span> 
    <%end%> 
    <br /> 
    <% end -%> 
<% end -%> 

cela ne fonctionne pas, j'ai essayé violon un peu et est venu avec

<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", user_google_oauth2_omniauth_authorize_path, class: "btn btn-block btn-social btn-google" do %> 
    <span class="fa fa-google"></span> 
<%end%> 

Cependant, aucun de les options fonctionnent

Répondre

0

Trié, problème dans la façon dont j'utilise le lien, je l'ai changé en bloc parce que je voulais utiliser les boutons de connexion sociale Bootstrap

Note pour moi-même et d'autres qui viennent à ce poste:

Lorsque vous convertissez link_to dans un bloc, vous ne donnez pas l'argument texte du lien, ce texte doit aller dans le bloc

Voici la version de travail

<%- if devise_mapping.omniauthable? %> 
    <%- resource_class.omniauth_providers.each do |provider| %> 
    <%= link_to omniauth_authorize_path(resource_name, provider), class: "btn btn-block btn-social btn-google" do %> 
     <span <span class="fa fa-google"></span> Sign in with <%=OmniAuth::Utils.camelize(provider)%> 
    <%end%> 
    <br /> 
    <% end -%> 
<% end -%>