我正在开发一个Ruby gem,Ampere,作为Redis数据库的ORM。我正在尝试支持它的Rails集成,并能够绑定一个初始化器和控制台钩子,但我的生成器还不能工作。我有一个生成器,ampere:config,它安装了一个默认的配置YAML文件,还有一个模型生成器的替代品。
当我将gem安装到测试Rails应用程序中时,当我在命令行上运行rails generate时,ampere:config生成器显示在列表中,但当我输入rails g ampere:config时,我得到:
Could not find generator ampere:config.没别的了。我的生成器位于gem中的"lib/ Rails /generators/config/“中,很明显,自从它出现在rails g列表中,Rails就知道它了,但是有些地方不太对劲。如果有人能提供帮助,或者知道比Rails Guides更好的文档,我们将不胜感激。
发布于 2012-06-04 02:30:33
好了,我终于明白了。为了让生成器正常工作,它们必须使用模板的相对路径调用source_root,并且它们必须位于lib/rails/generators/your_gem_name/中,那么your_gem_name/中的目录结构就是您在阅读文档(或在Rails项目中运行rails g generator )时所期望的。
文档对此不是很清楚,所以它有点混乱,但在看了几个示例后,我尝试了一下,它起作用了。
https://stackoverflow.com/questions/10872361
复制相似问题