【发布时间】:2016-05-06 09:07:26
【问题描述】:
我正在尝试在/view/devise/shared/_links.html.erb 中执行类似下面的操作,以便为登录/注册视图中呈现的每个提供程序链接设置不同的图像。
注意:这里我还没有添加图片链接。
<%- if devise_mapping.omniauthable? %>
<%- resource_class.omniauth_providers.each do |provider| %>
<% if provider == Facebook %>
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
<% end %>
<% if provider == Twitter %>
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
<% end %>
<% if provider == Google_Oauth2 %>
<%= link_to "Sign in with #{OmniAuth::Utils.camelize(provider)}", omniauth_authorize_path(resource_name, provider) %><br />
<% end %>
<% end -%>
<% end -%>
原来的代码是,
<%- 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) %><br />
<% end -%>
<% end -%>
但是打开视图时出现错误。
未初始化的常量 ActionView::CompiledTemplates::Facebook
我使用的提供者名称似乎不正确(但它们正是从 #{OmniAuth::Utils.camelize(provider)} 呈现的内容。
有什么方法可以让我查找这些需要是什么?
或者,如果有更优化的方式来实现我正在尝试做的事情?
【问题讨论】:
标签: ruby-on-rails devise omniauth