【问题标题】:Making a custom plugin/gem/engine for Rails 3 app为 Rails 3 应用程序制作自定义插件/宝石/引擎
【发布时间】:2011-02-14 14:15:01
【问题描述】:

我正在关注指南http://edgeguides.rubyonrails.org/plugins.html,它似乎有点过时了。你能看看它并告诉我在 Rails 3 中哪些部分应该以不同的方式完成吗?

EDIT1:也非常欢迎提供其他教程的链接!

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-3 plugins rubygems rails-engines


【解决方案1】:

您是对的,该指南不是最好的(最后一个变更日志条目是 2010 年 4 月)。

相反,我建议您阅读:https://github.com/radar/guides/blob/master/gem-development.md

【讨论】:

  • 我对生成器目录树有点困惑。可能是我错了,但我认为该指南描述的目录与rails g plugin my_plugin_name生成的目录略有不同
  • 另外,第 12.2 节包含注释:“Desert 和 Engines 等几个插件框架提供了更高级的插件功能。”,但这些框架似乎主要用于 Rails 2。如有错误请评论。
【解决方案2】:

我碰到了这个问题,现在答案已经过时了。 railsguide 目前是最新的:http://guides.rubyonrails.org/engines.html

enginex gem 已集成到 Rails 中,现在创建引擎非常简单:

rails plugin new your-gem-name  --full

很像rails new 命令,这将创建一个新文件夹,其中包含一个空白gem 供您填写。这个gem 自动成为engine。如需更多选项(例如--mountable,请查看文档)。

【讨论】:

  • @nathanvda- 这需要更正。创建新插件的命令是rails plugin **new** your-plugin。要创建引擎,您必须添加--full--mountable 选项。有关这些选项的说明,请参见我的回答:stackoverflow.com/a/17263429/165673
  • 谢谢你的错字:确实我省略了new。糟糕 :) 上次我创建引擎时,我只是做了rails plugin new engine-name 然后开始填充它。使用--full 选项确实更容易。谢谢。
【解决方案3】:

【讨论】:

  • 非常好,非常感谢!与@TK-421 推荐的themodestrubyist.com 上的教程相结合的完美示例。
  • 请注意,engineX 与 Rails 3.1+ 不兼容。它也是“不需要的”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多