我一步一步地遵循了本指南:http://railscasts.com/episodes/241-simple-omniauth
当我点击将在Twitter上关注的按钮时,结果如下:
没有路线匹配[GET]“/ auth / twitter”
我做了几次尝试,以慢动作观看视频......但结果始终相同
答案 0 :(得分:1)
将来,请尝试共享相关代码以进行调试。但是,请确保您拥有以下内容。
在您的路线中,请确保您有类似
的内容devise_for :users, :controllers => {:omniauth_callbacks => "users/omniauth_callbacks" ...
并在您的设计初始化程序
config.omniauth :facebook, facebook_app_id, facebook_app_secret,
{ :scope => 'yourscopeshere', :client_options => {:ssl => {:ca_path => "/etc/ssl/certs"}} }
答案 1 :(得分:1)
您需要在Devise gem使用的模型中注释掉':omniauthable'(通常是模型'User'= user.rb文件):
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :recoverable,
:rememberable, :trackable, :validatable # plus whatever other calls...
# :omniauthable
[...]
end
使用':omniauthable'调用意味着加载devise / omniauth组件(这会导致与omniauth设置冲突)。