为我的自定义gem添加一个生成器(Rails> 3)

时间:2013-03-20 09:56:27

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

我正在尝试编写一个ruby gem(使用rails(3.2.13)),我创建了一个生成器来执行文件复制。

以下是我的生成器代码

#<mygemname>/lib/generators/mygemname/mygemname_generator.rb

require 'rails/generators'
require 'rails/generators/migration'

module Mygemname
  module Generators
    class ConfigGenerator < Rails::Generators::Base
      p "testing generator"
    end 
  end
end

然后我转到<mygemname>/spec/dummy中的测试应用程序(我使用rspec进行测试),所以从我的虚拟应用程序中,当我运行时

rails g I get 

Mygemname:
  mygemname:config

但是当我运行rails g endless:config时,我得到了

Could not find generator endless:config.

但是当我运行rails g endless时,我得到了正确的结果:),但是我希望命令为rails g endless:config,我该怎么做?

提前致谢

1 个答案:

答案 0 :(得分:4)

尝试重命名文件:/lib/generators/mygemname/config_generator.rb

结构config_generator.rb略有不同:

class Mygemname
  class ConfigGenerator < Rails::Generators::Base
    p "testing generator"
  end 
end