gem 中的 Rails 3 生成器
听起来可能是一个简单的问题,但我很困惑。
我创建了一个本质上包含生成器的 gem。
它包含以下结构:
lib
- generators
- my_generator
my_generator_generator.rb (see below)
- templates
my_template_files...
- my_generator.rb (empty file)
test
-test files
GemFile
etc..
但是,当我将此 Gem 添加到我的 gem 文件并运行 Rails g 时,它没有列出。我需要做任何额外的配置吗?
我的生成器大致是这样的......
class MyGeneratorGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
generator code....
end
奇怪的是,它在 Cygwin 中工作,但在 Ubuntu 中不起作用......
Might sound like a simple question, but I'm stumped.
I've created a gem that essentially contains a generator.
It contains the following structure:
lib
- generators
- my_generator
my_generator_generator.rb (see below)
- templates
my_template_files...
- my_generator.rb (empty file)
test
-test files
GemFile
etc..
However when I add this Gem to my gem file and run rails g, it's not listed. Is there any additional config that I need to do?
My generator roughly looks like this...
class MyGeneratorGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
generator code....
end
The strange thing is, it works in Cygwin, but not in Ubuntu...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我花了一点时间才弄清楚,但我遇到了同样的问题。这是我修复它的方法。
树结构如下所示:
install_generator.rb 的代码
这是当我运行时
我看到
:
您可能需要设置的其他一些东西:
以及
我在这方面找到的一些很好的参考资料是:
This took a little bit for me to figure out, but I've run into the same problem. Here is how I fixed it.
Tree structure looks like this:
Here's the code for install_generator.rb
When I run
rails g
I see:
Some other things you may need to setup:
and
Some good references I've found on this are:
如果您使用 Railtie,您可以在任何可以使用的地方定义生成器:
在 Railtie 类中。
If you use Railtie, you can define your generator wherever it could be using:
in Railtie class.