2010-04-03 48 views
10

我开始研究为了构建用于Rails应用程序的用户级插件系统(如Wordpress插件)所需的内容,所以我会欣赏一些常规指针/咨询。通过用户级别的插件,我的意思是用户可以将一个包提取到一个文件夹中,并将其显示在管理界面上,从而允许他们添加一些额外的配置并将其激活。构建Rails应用程序的扩展框架

要做到这一点,最好的方法是什么?有没有其他的开源项目已经这样做了? Rails本身已经为程序员级别的插件提供了什么?任何可以帮助我的Rails插件?

一个插件必须能够:

  • 运行其自己的迁移(?与this是无证)
  • 有我的模型(插件已经这样做了)
  • 访问有添加内容到视图的入口点(可以用content_for and yield完成)
  • 更换整个观点或谐音(如何?)
  • 提供自己的管理和面向用户的意见(如何?)
  • 创建自己的路由(或者只是宣布它的存在,让创建它的路线,以避免插件踩在对方的脚趾上)

还有什么我失踪了?

此外,有没有一种方法来限制哪些表/动作插件访问有关迁移和模型,同时也限制了他们的路线接入(也许让它们包括,但不删除路由)?

P.S .:我会尽量保持这个更新,编译我想出来的东西和相关答案,以便为其他人提供一种指导。

+0

在我看来,你对单个问题的要求太多。如果你把它分成几个,你可能会得到更多的答案。 – kikito 2010-04-03 15:56:19

+0

我认为添加自己的宝石依赖也是必不可少的。 – lulalala 2015-05-03 07:31:01

回答

3

您可能想要查看mephisto,这是一个使用ruby on rails构建的博客软件,并且具有附加插件支持。不知道它是如何工作的,你可能会给你一些很好的见解。信息来源可在GitHub找到。

3

你应该看看deface宝石。它允许定制栏目视图,通过钩子添加内容并替换整个视图/部分。施普雷正在使用这个宝石,所以你也可以看看spree。除了美景,他们也有定制的应用程序,所以你可以找到更多回答您的问题的其他解决方案。