我正在开发一个 Rails 引擎,我正在尝试编写一个生成器来放置这条线
do_stuff (foo)
作为 config/routes.rb
中的最后一条语句,不破坏文件语法。
具体来说,如果我的 config/routes.rb
目前看起来像这样
Rails.application.routes.draw do
blah
more blah
end
运行生成器后,我希望 config/routes.rb
看起来像这样
Rails.application.routes.draw do
blah
more blah
do_stuff (foo) # injected line
end
我看了看什么ActiveAdmin does ,但无法创建一揽子最后一行规则。非常感谢任何帮助。
最佳答案
我没有对此进行测试,但我认为根据您在 ActiveAdmin 生成器中链接到的内容,它可能会像这样工作:
inject_into_file "config/routes.rb", " do_stuff(foo)\n", :before => /^end/
这应该将您的代码插入到从行首开始的 end
标记之前。这只适用于格式正确的路由文件......
关于ruby - Thor - 最后注入(inject)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835803/