【问题标题】:How do I create a command line rails generator gem?如何创建命令行 Rails 生成器 gem?
【发布时间】:2014-02-05 20:31:34
【问题描述】:

我知道如何创建一个 Rails 生成器 gem,它的名称如下:

rails g my_generator command

而且我知道如何创建一个可以像这样调用的雷神宝石:

my_generator command

但我不知道如何创建一个可以使用可执行文件调用的 Rails 生成器。我尝试过创建一个 lib/my_generator/cli.rb 文件,例如:

require 'thor'

module Mang
  class Cli < Thor
    include ::Rails::Generators::Base

    desc "install_gem", "install a gem"
    def install_gem
      gem 'thor', "0.18.1"
    end

  end
end

但尽管在我的 gemspec 中添加了 Rails 作为依赖项,但我收到以下错误。

uninitialized constant Rails (NameError)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 thor


    【解决方案1】:

    修复只是包含 rails/generators/actions 模块的问题。

    require 'thor'
    require 'rails/generators'
    require 'rails/generators/actions'
    
    module Mang
      class Cli < Thor
        include Thor::Actions
        include Rails::Generators::Actions
    
        desc "install_gem", "install a gem"
        def install_gem
          gem 'thor', "0.18.1"
        end
    
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2015-01-16
      相关资源
      最近更新 更多