首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails 3中,Authlogic_OAuth失败并出现错误"uninitialized constant UserSession::OAuth“

在Rails 3中,Authlogic_OAuth失败并出现错误"uninitialized constant UserSession::OAuth“
EN

Stack Overflow用户
提问于 2011-03-17 06:42:44
回答 2查看 2.2K关注 0票数 0

我已经让我的应用程序(即sign_in和sign_up)与Authlogic一起工作,现在我正试图通过Authlogic_OAuth gem添加对OAuth的支持。我已经得到了所有的基本设置(我认为),我已经添加了一个“登录Twitter”按钮到我的登录页面。问题是,当我单击按钮时,我得到了这个错误:

代码语言:javascript
复制
 uninitialized constant UserSession::OAuth

使用应用程序跟踪:

代码语言:javascript
复制
app/models/user_session.rb:17:in `oauth_consumer'
app/controllers/user_sessions_controller.rb:23:in `create'

失败的函数在我的user_session模型中:

代码语言:javascript
复制
# authlogic_oauth hacks                                                       
# Twitter example                                                             
def self.oauth_consumer
  OAuth::Consumer.new("TOKEN", "SECRET",
      { :site => "http://twitter.com",
        :authorize_url => "http://twitter.com/oauth/authenticate"})
end

我是rails和ruby的新手,所以我不太明白这个名称空间冲突是从哪里来的,或者如何解决它。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-17 08:01:27

好了,我想通了。问题是OAuth::Consumer没有用authlogic_oauth定义。它实际上是在oauth gem中定义的。所以我将我的Gemfile更新为:

代码语言:javascript
复制
gem 'authlogic', '2.1.6'
# set up oauth capabilities. Note: :lib is replaced with :require in rails 3
gem 'authlogic-oauth', '1.0.8', :require => 'authlogic_oauth'
gem 'oauth', '0.4.4'

然后运行:

代码语言:javascript
复制
bundle install

而且,不要忘记重新启动rails服务器,以便它重新加载Gemfile中的gem。

票数 2
EN

Stack Overflow用户

发布于 2011-03-17 07:22:37

尝试将OAuth更改为::OAuth。冒号表示您希望从类外部访问OAuth。它是从你的班上搜索的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5332736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档