【问题标题】:Is there a good admin generator for Ruby on Rails?Ruby on Rails 有没有好的管理生成器?
【发布时间】:2025-12-28 20:00:10
【问题描述】:

我目前的项目是在 Rails 中。来自 Symfony (PHP) 和 Django (Python) 背景,他们都有优秀的管理生成器。 Rails 中似乎缺少这一点。

对于那些不熟悉 Symfony 或 Django 的人,它们都允许您在模型周围指定一些元数据,以自动(动态)生成管理界面来执行常见的 CRUD 操作。只需几个命令或几行代码,您就可以创建一个完整的 Intranet。它们外观漂亮,可扩展性足以满足您 99% 的管理需求。

我已经为 Rails 寻找类似的东西,但所有项目要么没有活动,要么早就死了。除了脚手架,还有什么可以为 Rails 应用程序生成 Intranet/admin 站点吗?

【问题讨论】:

  • 这是题外话,但没有办法在 Stack Overflow 中发送私人消息,所以我会在这里问。我也来自 symfony,刚刚开始使用 Rails。与 symfony 相比,您对 Rails 的总体体验如何? Rails 容易学习是因为 symfony 借鉴了它的许多想法吗?

标签: ruby-on-rails ruby


【解决方案1】:

Active Admin (http://activeadmin.info/) 于 2011 年 5 月发布,看起来它将成为最好的 Rails 3 选项。

【讨论】:

  • 在这种情况下值得一试railscasts284
  • ActiveAdmin 是迄今为止 Rails 3 的最佳选择。
【解决方案2】:

rails_admin 似乎是截至 2011 年 1 月最新最伟大的免费项目。

...最重要的是,存储库中有很多活动。

【讨论】:

    【解决方案3】:

    脚手架是创建管理后端的常规方法,但有一个名为ActiveScaffold 的项目可以解决您的问题。

    【讨论】:

    • ActiveScaffold 看起来与我正在寻找的完全一样。谢谢。
    • 小心使用 ActiveScaffold,视图非常复杂,并且支持最新的 rails 存在问题。
    • ActiveScaffold 现在使用起来相当古老且复杂。自 2011 年 4 月起,rails_admin 更可取。
    【解决方案4】:

    Here 是几个选项的汇总,不仅包括 ActiveScaffold。

    【讨论】:

      【解决方案5】:

      ActiveScaffold 可用于 Rails 2.3.x :) 只是为了一年后像我一样发现这个问题的人的信息:)

      【讨论】:

        【解决方案6】:

        ActiveScaffold 是一个很好的解决方案,但是如果你想要一个更可配置和更强大的工具,我认为 Typus 是一个很好的解决方案: http://github.com/fesplugas/typus

        【讨论】:

          【解决方案7】:

          你主要有两个:

          【讨论】:

            【解决方案8】:

            ActiveScaffold 是目前为止最可配置/最容易集成/最自动化的脚手架。 它内置了 ajax 支持,近乎无缝的数据库自省,甚至可以很好地与旧版 Oracle 数据库(这在 Rails 中可能是一个真正的痛点)配合使用。

            试试看:http://activescaffold.com/

            【讨论】:

              【解决方案9】:

              看看酪蛋白 (http://www.caseincms.com/),可能就是您想要的。

              【讨论】:

                【解决方案10】:

                周末还尝试了 typus、caseincms 和 ActiveScaffold,我对 admin_data 赞不绝口。 这是

                • 安装超级快(Rails 3 是 gem,Rails 2.3 是一个插件分支, 不要在 github 上挖树),
                • 无干扰(所有代码都在 vendor/admin_data 文件夹或它所属的 gem 中),
                • 无需设置,可选配置是应用中的一个文件中的一个块,
                • 正确 (!) 从您的模型定义(primary_key、foreign_key、关系等)中获取所有模型信息,
                • 包括多个数据库,通过 activerecord-sqlserver-adapter 的 SQL Server 连接,甚至 composite primary keys,因为一切都抽象在 ActiveRecord 之上,如果你的模型工作,admin_data 将工作,
                • 由于上述原因,可以很好地处理旧数据,
                • 使用您现有的身份验证解决方案,该解决方案在您的配置文件中被称为最美妙的 DRYness。 它可能不如其他解决方案灵活或漂亮,但这个插件做了很多事情来快速设置管理面板。

                【讨论】:

                  【解决方案11】:

                  创建 CRUD 接口的最常用方法是使用 Scaffold。

                  ./script/generate scaffold_resource MyModel property:type property2:type2
                  

                  此命令将为名为 MyModel(单数)的模型生成一个具有两个属性的 CRUD 接口。属性是 DB 术语中的列。所以你可以有 name:string age:integer active:boolean 等。

                  【讨论】:

                    【解决方案12】:

                    我可以建议你active_admin 这是最好的

                    Active Admin main site

                    【讨论】: