我不确定我是否可以问这个问题,但我绝对需要一个答案。我正在开发一个 Rails 项目——一个论坛——我想知道如何在其中实现“插件”。
基本上,我希望对编程或 ruby on rails 不太了解的人能够向我的论坛添加功能(假设他们将我的论坛克隆到他们的服务器上)。一般的想法是
- 插件将有自己的目录,如
plugins
,并在此目录中由插件名称分隔。 - 我将能够运行这样的命令
rake forum:plugins:install some-url
,为他们下载并安装插件 - 插件将能够修改/添加资产,以及更改视图、控制器或模型
- 插件不会更改实际论坛的代码
在开始这个项目时,我的脑海里有一个想法,我可以应用一两个补丁来安装插件,但是当用户必须升级论坛时,这将是可怕的。
所以,我的问题是:
- 如上所述,我怎样才能实现我的插件?
- 使用 Rails 执行此操作是个好主意吗?
同样,我不确定这些问题是否被允许,但我想我会找出答案的。
澄清一下,我正在寻找一个类似于 SMF 的包功能的系统(它允许您在论坛软件本身上导入和安装插件/包)。我不是在寻找 Rails 本身的插件,而是在 Rails 上运行的应用程序(论坛)。
TL;DR:我正在寻找一种方法来修改 Rails 应用程序而不修改源代码。我不是在寻找 rails 2 插件或 rubygems。