我正在尝试让ApiAuth与ActiveResource一起使用并且没有运气。文档建议将其作为使用gem的方法:
class Foo < ActiveResource::Base
with_api_auth("foo", "bar")
end
这会导致以下错误:
NoMethodError: undefined method `with_api_auth' for Foo:Class
我知道api_auth库可用,因为当我这样做
require 'api_auth'
我得到“ false”,我认为这意味着库/宝石已经加载。
此外,我挑选了定义了with_api_auth的模块/类,但没有收到错误:
2.3.8 :004 >
ApiAuth::Rails::ActiveResourceExtension::ActiveResourceApiAuth
=> ApiAuth::Rails::ActiveResourceExtension::ActiveResourceApiAuth
2.3.8 :005 >
我在api_auth github项目上发现了几个针对此确切错误的问题,但都没有适合我的解决方案。
还有其他人看到此错误或知道如何消除它吗?
答案 0 :(得分:1)
所以最终,改变了我的Gemfile中的宝石顺序。最终成为我的Gemfile中的订购问题。我在gem github问题列表上找到了一个issue (113),说要这样做可以确保顺序正确:
gem 'activeresource'
gem 'api-auth'
最初,这没有用,最终是因为您不再需要将activeresource明确地放入Gemfile中。因此,我将gem 'api-auth'
移到了Gemfile的最后一行,一切正常。
我不确定,但是我认为这与在捆绑安装中如何加载mixins有关。 “想”是该陈述中最重要的词。