【问题标题】:Rails + rails-api: Circular Dependency with HelperRails + rails-api:使用 Helper 的循环依赖
【发布时间】:2014-03-01 05:39:35
【问题描述】:

我在 helpers api_helper 文件夹中有一个模块 ApiHelper,这引起了一些混乱。在 controllers/api/v1 我有两个控制器,它们都有

include ApiHelper

确切的错误是:

/Users/WEF6/.rvm/gems/ruby-1.9.3-p448/gems/activesupport-4.0.1/lib/active_support/dependencies.rb:461:in `load_missing_constant': Circular dependency detected while autoloading constant APIHelper (RuntimeError)

我认为这个问题正在发生,因为我有一个使用 rails-api 像这样设置的 api_controller:

class ApiController < ActionController::API

我的普通应用程序控制器是这样设置的

class ApplicationController < ActionController::Base

api 控制器继承自 ApiController,而我的普通 App 控制器继承自 ApplicationController。

或者它可能是更简单的东西;想法?

【问题讨论】:

  • 你解决了吗?
  • 不,我最终将我想成为助手的方法移动到单独的模块中,并将它们放在关注文件夹中。例如,Presentable、Decryptable 和 Parsable 模块。
  • 在我的情况下,它是一个名为 TableHelper 的助手,只是将名称更改为 MyTableHelper,一切都很好。

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


【解决方案1】:

我知道这是旧的,但我最近遇到了类似的问题。就我而言,问题是在config/initializers/inflections.rb 中添加了'API' 的变形首字母缩写词。

我所要做的就是将ApiHelper 重命名为APIHelper,然后问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多