【发布时间】:2021-07-10 03:05:21
【问题描述】:
我正在尝试将旧版应用程序从 3 迁移到 4(当然接下来我会转到 5 和 6)。基本上它是一个helper重的app,它封装了很多helpers上的逻辑。
我在 Rails 4 上加载助手时遇到了一些问题,我想我已经解决了,但我似乎遇到了嵌套助手的问题。我正在使用 traceroute gem 来验证 routes.rb 上的路由是否正常工作,并且我遇到了一些问题。
例子:
uninitialized constant Permissions
/home/app/helpers/permissions/charts_helper.rb:1:in `<top (required)>'
图表助手(app/helpers/permissions/charts_helper.rb)
module Permissions::ChartsHelper
...
end
在application.rb上导入助手:
config.autoload_paths << Rails.root.join('lib')
# config.autoload_paths += Dir["#{config.root}/app/helpers/**/"]
Dir["#{config.root}/app/models/concerns/**/*.rb"].each { |file| require file[0..-4]}
Dir["#{config.root}/app/helpers/**/*.rb"].each { |file| require file[0..-4]}
(我不得不注释掉第二行以支持第四行,它似乎导入了一些助手但不是全部)
所以基本上我正在寻找:
1.) 在 applications.rb 文件中包含这些帮助程序的最佳方式 2.) 让助手工作 3.) 任何可以帮助我前进的最佳实践或其他建议。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4