0

我正在开发一个 Ruby gem,Ampere,它充当 Redis 数据库的 ORM。我正在尝试支持它的 Rails 集成,并且能够绑定初始化程序和控制台挂钩,但是我的生成器还不能工作。我有一个生成器,ampere:config它安装一个默认配置 YAML 文件,以及一个模型生成器的替代品。

当我将我的 gem 安装到一个测试 Rails 应用程序中时,当我在命令行上ampere:config运行时,生成器会显示在列表中,但是当我输入 时,我得到:rails generaterails g ampere:config

Could not find generator ampere:config.

没有别的了。我的生成器位于 gem 中的“lib/rails/generators/config/”中,很明显 Rails 知道它,因为它出现在rails g列表中,但有些地方不对劲。如果有人可以帮助或知道一些比 Rails 指南更好的文档,至少可以说很少,那将不胜感激。

4

1 回答 1

1

好的,所以我终于明白了。为了使生成器工作,它们必须source_root使用模板的相对路径进行调用,并且它们必须存在于 中lib/rails/generators/your_gem_name/,那么其中的目录结构your_gem_name/就是您阅读文档(或rails g generator在 Rails 项目中运行)所期望的。

文档对此不是很清楚,所以有点混乱,但是在查看了一些示例之后,我尝试了这个并且它起作用了。

于 2012-06-03T18:30:32.613 回答