使用 gem 将文件复制到 rails 项目文件夹
Copy a File to rails project folder using gem
我正在为 rails 开发一个 gem,但我遇到了这个问题。我的逻辑是我创建了一个 gem,并将 gem 安装到我的本地机器上。我需要的是当我键入 gem_name --install
时,应该将一个名为 test.rb
的文件复制到 rails project/ config/initializers/
中。要复制的文件目前放在我的gem的一个文件夹中。我试过了
Dir.pwd
但它并没有给我预期的结果。请为我和 TIA 找到解决方案..
对于 rails gem,您可以将生成器与 "template" 文件一起使用。
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
时复制文件。
确保通读 rails 指南部分 on generators and creating engines,因为其中有很多问题和惯例。
我正在为 rails 开发一个 gem,但我遇到了这个问题。我的逻辑是我创建了一个 gem,并将 gem 安装到我的本地机器上。我需要的是当我键入 gem_name --install
时,应该将一个名为 test.rb
的文件复制到 rails project/ config/initializers/
中。要复制的文件目前放在我的gem的一个文件夹中。我试过了
Dir.pwd
但它并没有给我预期的结果。请为我和 TIA 找到解决方案..
对于 rails gem,您可以将生成器与 "template" 文件一起使用。
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
时复制文件。
确保通读 rails 指南部分 on generators and creating engines,因为其中有很多问题和惯例。