0

我正在尝试让 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' 

我得到“假”,我相信这意味着图书馆/宝石已经加载。

此外,我选择了定义 with_api_auth 的模块/类并且没有收到错误:

2.3.8 :004 > 
ApiAuth::Rails::ActiveResourceExtension::ActiveResourceApiAuth
=> ApiAuth::Rails::ActiveResourceExtension::ActiveResourceApiAuth
2.3.8 :005 >

我在 api_auth github 项目中发现了这个确切错误的几个问题,但都没有适合我的解决方案。

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

4

1 回答 1

1

所以最后是我的 Gemfile 中的宝石排序产生了影响。它最终成为我的 Gemfile 中的一个排序问题。我在 gem github 问题列表上发现了一个问题 (113),它说通过以下操作确保订单正确:

gem 'activeresource'
gem 'api-auth'

最初这没有用,最终是因为您不再需要将 activeresource 显式放入您的 Gemfile 中。所以我移动gem 'api-auth'了我的 Gemfile 中的最后一行,一切正常。

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

于 2019-07-02T12:25:24.963 回答