【发布时间】:2010-05-18 14:29:07
【问题描述】:
由于here中引入的概念,
Rails::Plugin 只不过是一个 Rails::Engine,但由于它已加载 在启动过程中为时已晚,确实如此 没有相同的配置权限 作为一个裸 Rails::Engine。
相对于 Rails::Railtie 和 Rails::Engine,你不应该 继承自 Rails::Plugin。 Rails::Plugin 是自动的 通过简单地配置为引擎 放置在供应商/插件中。自从 这是自动完成的,你 实际上不能声明一个 Rails::Engine 在你的插件中, 否则会导致相同的 文件要加载两次。这表示 如果您想将引擎作为 gem 它不能用作插件和 反之亦然。
除了这个概念上的差异, 之间的唯一区别 Rails::Engine 和 Rails::Plugin 是 该插件会自动加载 插件根目录下的文件“init.rb” 在启动过程中。
rails 插件中的 rake 任务已被弃用,建议改用 lib/tasks。如何解决这个问题?我可以简单地将插件的任务移动到 lib/tasks 吗?
【问题讨论】:
标签: ruby-on-rails rake