为Rails应用程序构建扩展框架

时间:2010-04-03 02:48:48

标签: ruby-on-rails plugins admin extensibility

我正在开始研究我需要什么来为Rails应用程序构建用户级插件系统(如Wordpress插件),所以我很欣赏一些通用指针/建议。通过用户级插件,我指的是一个用户可以解压缩到一个文件夹并将其显示在管理界面上的包,允许他们添加一些额外的配置,然后激活它。

这样做的最佳方法是什么?还有其他开源项目吗? Rails本身已经为可以利用的程序员级插件提供了什么?任何可以帮助我的Rails插件?

插件必须能够:

  • 运行自己的迁移(使用this?它没有记录)
  • 可以访问我的模型(已经插件)
  • 具有向视图添加内容的入口点(可以使用content_for and yield完成)
  • 替换整个视图或部分(如何?)
  • 提供自己的管理员和面向用户的观点(如何?)
  • 创建自己的路径(或者只是宣布它的存在并让为它创建路由,以避免插件踩到彼此的脚趾上)

我还缺少什么?

此外,有没有办法限制插件可以访问哪些表/操作有关迁移和模型,还限制他们访问路由(可能让它们包括但不删除路由)?

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

2 个答案:

答案 0 :(得分:3)

您可能需要查看mephisto,这是一个使用ruby on rails构建的博客软件,并且具有附加插件支持。不确定它是否有效,但可能会给你一些好的见解。来源可以在GitHub找到。

答案 1 :(得分:3)

你应该看看deface gem。它允许自定义rails视图,通过钩子添加内容并替换整个视图/部分。 Spree正在使用这个gem,所以你也可以看spree。除了视图,他们还有其他自定义应用程序的解决方案,以便您可以找到更多问题的答案。