ApiAuth gem + ActiveResource

时间:2019-07-02 12:08:29

标签: ruby-on-rails activeresource api-auth

我正在尝试让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项目上发现了几个针对此确切错误的问题,但都没有适合我的解决方案。

还有其他人看到此错误或知道如何消除它吗?

1 个答案:

答案 0 :(得分:1)

所以最终,改变了我的Gemfile中的宝石顺序。最终成为我的Gemfile中的订购问题。我在gem github问题列表上找到了一个issue (113),说要这样做可以确保顺序正确:

gem 'activeresource'
gem 'api-auth'

最初,这没有用,最终是因为您不再需要将activeresource明确地放入Gemfile中。因此,我将gem 'api-auth'移到了Gemfile的最后一行,一切正常。

我不确定,但是我认为这与在捆绑安装中如何加载mixins有关。 “想”是该陈述中最重要的词。