Mau*_*loa 2 ruby ruby-on-rails generator rails-engines ruby-on-rails-4
在gem中创建生成器时遇到问题.当我运行rails g
发电机时显示:
Supportator:
supportator:initializer
Run Code Online (Sandbox Code Playgroud)
但是当我运行发生器rails generate supportator:initializer
时发生以下错误:
Could not find generator supportator:initializer.
Run Code Online (Sandbox Code Playgroud)
这是生成器的代码:
require 'rails/generators'
module Supportator
class InitializerGenerator < Rails::Generators::Base
source_root File.expand_path("../templates", __FILE__)
def create_initializer_file
copy_file '_browser_validator.html.haml', 'app/views/_browser_validator.html.haml'
copy_file 'en_supportator.yml' , 'config/locales/en_supportator.yml'
copy_file 'es_supportator.yml' , 'config/locales/es_supportator.yml'
end
end
end
Run Code Online (Sandbox Code Playgroud)
这是引擎的代码:
module Supportator
require 'rails'
class Engine < ::Rails::Engine
end
end
Run Code Online (Sandbox Code Playgroud)
你知道为什么会这样吗?
更改
lib/generators/supportator/supportator_generator.rb
Run Code Online (Sandbox Code Playgroud)
至
lib/generators/supportator/initializer_generator.rb
Run Code Online (Sandbox Code Playgroud)
你的类名InitializerGenerator
应该是文件名initializer_generator.rb
.否则,rails将无法找到它.
在你的情况下rails g supportator:initializer
,rails会initializer_generator.rb
在lib/generators/supportator
目录中查找生成器文件.
归档时间: |
|
查看次数: |
619 次 |
最近记录: |