【问题标题】:Copy a File to rails project folder using gem使用 gem 将文件复制到 rails 项目文件夹
【发布时间】:2016-06-16 08:23:27
【问题描述】:

我正在为 Rails 开发一个 gem,但我遇到了这个问题。我的逻辑是我创建了一个 gem,并将 gem 安装到我的本地机器上。我需要的是当我输入gem_name --install 时,应该将一个名为test.rb 的文件复制到rails project/ config/initializers/ 内部。要复制的文件当前放置在我的 gem 中的一个文件夹中。我试过了

Dir.pwd

但它没有给我预期的结果。请为我和 TIA 找到解决方案。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 rubygems


    【解决方案1】:

    对于 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 时复制文件。

    请务必通读 Rails 指南部分 on generators 和 creating engines,因为其中有很多陷阱和约定。

    【讨论】:

    • 我有一个问题,如果我输入 gem-abc --install,这是否会将文件复制到要安装 gem 的 rails 项目文件夹中?
    猜你喜欢
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    相关资源
    最近更新 更多