ruby on rails - How to assign a different design to each button with oauth? -
i want allow customers connect facebook , g+ auth. problem don't know how assign different design each button, because link call each provider. how can call them distinctly ?
here's view's code :
<%- if devise_mapping.omniauthable? %> <%- resource_class.omniauth_providers.each |provider| %> <%= link_to omniauth_authorize_path(resource_name, provider) %> <div class="fb-connect"> <%= image_tag('f-facebook.png', alt: "fb", class: "mini-fb") %> inscription avec facebook</div> <% end %> <% end %> <% end %>
as understand, 2 buttons (fb + g+) looks facebook button.
here's omniauth_callbacks_controller.rb:
class omniauthcallbackscontroller < devise::omniauthcallbackscontroller def self.provides_callback_for(provider) class_eval %q{ def #{provider} @user = user.find_for_oauth(env["omniauth.auth"], current_user) if @user.persisted? sign_in_and_redirect @user, event: :authentication set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format? else session["devise.#{provider}_data"] = env["omniauth.auth"] redirect_to new_user_registration_url end end } end [:twitter, :facebook, :linkedin, :google_oauth2].each |provider| provides_callback_for provider end def after_sign_in_path_for(resource) if resource.email_verified? super resource else finish_signup_path(resource) end end end
Comments
Post a Comment