我有一个使用Rails引擎和packwerk来组织代码的Rails应用程序。每个packwrk组件都有一个engine.rb
文件,有时看起来像这样:
module Foobar
class Engine < ::Rails::Engine
isolate_namespace Foobar
initializer :foobar_set_migration_paths do |app|
unless app.root.to_s.match? root.to_s
config.paths['db/migrate'].expanded.each do |expanded_path|
app.config.paths['db/migrate'] << expanded_path
end
end
end
end
end
我也在使用加了木薯粉的冰糕来输入我的文件。我试图把这些engine.rb
文件带到# typed: strict
,但是当我这样做的时候,我抱怨root.to_s
部分,说这个方法不存在于Rails::Engine
,但是冰糕给予的建议是错误的。
木薯允许创建shims来正确地键入这些情况,但我找不到一种方法来解决它。
我该如何修复它?
谢谢你!
1条答案
按热度按时间4c8rllxm1#
看起来用
config.root.to_s
替换root.to_s
可以解决问题!