Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 rails 4引擎可选共享辅助程序_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 4 rails 4引擎可选共享辅助程序

Ruby on rails 4 rails 4引擎可选共享辅助程序,ruby-on-rails-4,Ruby On Rails 4,我将一个引擎升级到Rails 4,但在配置可选的共享助手时遇到问题。helperAssessable::DisplayHelper有两个只呈现html的方法 我所说的选择性是 所需的默认配置是帮助程序应可供main.app在引擎外部使用,但详细信息隐藏。(html由引擎生成的哈希生成,但由主应用程序使用) 可选的生成器在helpers/assessable/display\u helper中安装helper,应用程序用户可以根据需要修改它 可选的生成器工作得很好,超过了引擎中的助手,但我无法

我将一个引擎升级到Rails 4,但在配置可选的共享助手时遇到问题。helper
Assessable::DisplayHelper
有两个只呈现html的方法

我所说的选择性是

  • 所需的默认配置是帮助程序应可供main.app在引擎外部使用,但详细信息隐藏。(html由引擎生成的哈希生成,但由主应用程序使用)
  • 可选的生成器在helpers/assessable/display\u helper中安装helper,应用程序用户可以根据需要修改它
可选的生成器工作得很好,超过了引擎中的助手,但我无法找到使默认模式工作的方法

我已经阅读了Rails4发行说明中关于助手加载顺序的说明,但不确定需要更改什么。关于我所做的一切

  • 助手可评估::DisplayHelper
    添加到应用程序控制器(非首选)
  • 正在尝试将
    Assessable::DisplayHelper
    包含在存根助手中
  • 黑暗中的其他几次刺杀
产生和错误:

RuntimeError: Circular dependency detected while autoloading constant Assessable::DisplayHelper
...
from /Users/me/.rvm/gems/ruby-2.0.0-p247@rails4/gems/actionpack-4.0.0/lib/action_controller/railties/helpers.rb:17:in `inherited'
from /Users/me/work/pm/app/controllers/application_controller.rb:1:in `<top (required)>'
RuntimeError:自动加载常数Assessable::DisplayHelper时检测到循环依赖项
...
来自/Users/me/.rvm/gems/ruby-2.0.0-p247@rails4/gems/actionpack-4.0.0/lib/action\u controller/railties/helpers.rb:17:in“inherited”
from/Users/me/work/pm/app/controllers/application\u controller.rb:1:in`'
我在类和助手中使用显示函数之间来回切换。我切换回助手,因为在主应用程序中安装类时遇到问题。目标是让`{class.}display_xxx(hash,post)使用默认或可选配置


任何关于这两种方法的建议都会有帮助。

我放弃了。我知道至少现在有人在看铁路


我最终使用了一个旧的建议,并在applications helper目录中生成了一个包含的helper,而不是一个名称分隔的目录。我不想做,但也许过些时候我会明白的。install:helper方法只是将helper替换为包含完整代码的include。

在我的例子中,有一个问题可以解决这类问题。你能试一下吗?请将此添加到development.rb:config.middleware.delete Rack::Lock