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

Ruby on rails 为Rails应用程序构建扩展框架,ruby-on-rails,plugins,admin,extensibility,Ruby On Rails,Plugins,Admin,Extensibility,我正在开始研究为Rails应用程序构建用户级插件系统(如Wordpress插件)所需的内容,因此我希望能得到一些一般性的提示/建议。用户级插件是指一个用户可以提取到文件夹中并在管理界面上显示的包,允许他们添加一些额外的配置,然后激活它 做这件事最好的方法是什么?有没有其他开源项目已经做到了这一点?Rails本身已经为可以利用的程序员级插件提供了什么?有没有Rails插件可以帮我解决这个问题 插件必须能够: 运行自己的迁移(使用?未记录) 有权访问我的型号(插件已经有了) 具有向视图添加内容的入

我正在开始研究为Rails应用程序构建用户级插件系统(如Wordpress插件)所需的内容,因此我希望能得到一些一般性的提示/建议。用户级插件是指一个用户可以提取到文件夹中并在管理界面上显示的包,允许他们添加一些额外的配置,然后激活它

做这件事最好的方法是什么?有没有其他开源项目已经做到了这一点?Rails本身已经为可以利用的程序员级插件提供了什么?有没有Rails插件可以帮我解决这个问题

插件必须能够:

  • 运行自己的迁移(使用?未记录)
  • 有权访问我的型号(插件已经有了)
  • 具有向视图添加内容的入口点(可使用)
  • 替换整个视图或部分视图(如何替换?)
  • 提供自己的面向管理员和用户的视图(如何?)
  • 创建自己的路由(或者干脆宣布它的存在,让我为它创建路由,以避免插件互相攻击)
我还缺什么

另外,是否有办法限制插件可以访问哪些表/操作,包括迁移和模型,并限制它们对路由的访问(可能允许它们包括但不删除路由)


注:我会尽量保持更新,编辑我所了解的内容和相关答案,以便为其他人提供一种指导。

你可能想看看,这是一款使用ruby on rails构建的博客软件,具有附加插件支持。不确定它是否有效,但可能会给你一些好的见解。可以在上找到源代码。

您应该查看gem。它允许定制rails视图,通过挂钩添加内容,并替换整个视图/部分。Spree正在使用此宝石,因此您也可以查看。除了视图,他们还有其他定制应用程序的解决方案,这样您就可以找到更多问题的答案。

我认为,您在一个问题上问的问题太多了。如果你把它分成几个部分,你可能会得到更多的答案。我认为添加它自己的gem依赖也是必要的。