ruby-on-rails - 为 Rails 应用构建扩展框架

标签 ruby-on-rails plugins admin extensibility

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

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

插件必须能够:

  • 运行自己的迁移 (与 this ?这是无证的)
  • 可以访问我的模型 (插件已经做了)
  • 有向 View 添加内容的入口点 (可以用 content_for and yield 完成)
  • 替换整个 View 或局部 View (如何?)
  • 提供自己的管理和面向用户的 View (如何?)
  • 创建自己的路线 (或者可能只是宣布它的存在并让我为它创建路由,以避免插件踩到彼此的脚趾)

  • 还有什么我想念的吗?

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

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

    最佳答案

    您可能想查看 mephisto ,它是一个用 ruby​​ on rails 构建的博客软件,并具有附加插件支持。不确定它是否按您的想法工作,但可能会给您一些很好的见解。来源可以在 GitHub 上找到.

    关于ruby-on-rails - 为 Rails 应用构建扩展框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570072/

    相关文章:

    ruby-on-rails - 呈现成员(member)资格剩余天数的方法 - Ruby on Rails

    ruby-on-rails - 将 Ruby on Rails 安装到 Synology DSM 5.2 时出现问题

    ruby-on-rails - 未初始化常量 ActionController::RedirectBackError 您是说吗? ActionController::渲染错误

    python - oocalc 插件 - 开发分步指南可用吗?

    magento - Mage::log() 在管理员中不起作用

    jquery - 在 Rails 5.1 中使用 yarn 时,我还应该使用 Gemfile 的 javascript 库吗?

    macos - 为什么在 64 位应用程序中运行的 32 位插件中内存分配/释放会失败,但在 32 位应用程序中不会?

    c++ - Maya 插件控制台输出不写入

    python - Django模型: Reference foreign key table in __unicode__ function for admin

    .net - SmtpClinet(SmarterEmail 服务器)的 SMTP 发送电子邮件失败