我正在尝试将facebook身份验证添加到我的rails应用程序(它是在Spree上构建的,它拥有自己的设计基于设备的授权gem)。我按照https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview的步骤进行操作 但似乎设计不是建立网址助手。
当我尝试导航到包含要通过Facebook验证的链接的页面时,
<%= link_to "Sign in with Facebook", spree_user_omniauth_authorize_path(:facebook)%>
我收到以下错误:
undefined method `spree_user_omniauth_authorize_path' for #<#<Class:0x007ffc695c4fa0>:0x007ffc695a7798>
Did you mean? spree_user_registration_path
但是,如果我为该链接添加了一个垃圾桶并单击它,导致显示spree_user_omniauth_authorize_path的rails routing错误页面列在可用路径下。
这是来自狂欢授权gem的routes.rb的相关信息:
devise_for :spree_user,
:class_name => 'Spree::User',
:controllers => { :sessions => 'spree/user_sessions',
:registrations => 'spree/user_registrations',
:passwords => 'spree/user_passwords',
:confirmations => 'spree/user_confirmations' },
:skip => [:unlocks, :omniauth_callbacks],
:path_names => { :sign_out => 'logout' },
:path_prefix => :user
这是来自我的routes.rb的devise_for语句
devise_for :spree_user,
:class_name => 'Spree::User',
:only => [:omniauth_callbacks]
我正在使用设计3.5.6,omniauth 1.3.1和omnauth-facebook 3.0.0
我需要做些什么来实现这个目标?