我正在为rails开发一个gem,我坚持这个问题。我的逻辑是我创建了一个gem,并将gem安装到我的本地机器上。我需要的是当我输入gem_name --install
时,应该将一个名为test.rb
的文件复制到rails project/ config/initializers/
内。要复制的文件当前放在我的gem中的文件夹中。我试过了
Dir.pwd
但它没有按预期给我结果。请为我和TIA找到解决方案..
答案 0 :(得分:0)
对于rails gem,您可以将生成器与“模板”文件一起使用。
class FooGenerator < Rails::Generators::NamedBase
source_root File.expand_path("../templates", __FILE__)
def copy_initializer_file
copy_file "initializer.rb", "config/initializers/#{file_name}.rb"
end
end
当gem的用户运行rails generate foo
时,这将复制文件。
请务必仔细阅读导轨指南部分on generators和creating engines,因为有很多问题和惯例。