36

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

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

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

4

12 回答 12

47

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

特征

于 2011-05-16T08:12:44.077 回答
20

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

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

于 2011-01-18T16:34:26.063 回答
11

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

于 2008-09-14T15:34:17.873 回答
5

以下是一些选项的汇总,不仅包括 ActiveScaffold。

于 2010-01-26T08:06:16.343 回答
3

ActiveScaffold 适用于 Rails 2.3.x :) 仅适用于一年后像我一样发现此问题的某人的信息 :)

于 2010-02-18T08:44:02.030 回答
3

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

于 2010-10-01T18:34:33.873 回答
2

你主要有两个:

于 2008-09-15T12:45:09.707 回答
2

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

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

于 2008-09-16T04:56:32.163 回答
2

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

于 2010-10-17T10:15:11.877 回答
1

周末还尝试了 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 连接,甚至复合主键,因为一切都在 ActiveRecord 之上抽象,如果你的模型工作,admin_data 将工作,
  • 出于上述原因,可以很好地处理遗留数据,
  • 使用您现有的身份验证解决方案,该解决方案在您的配置文件中被称为最美妙的 DRYness。它可能不如其他解决方案灵活或漂亮,但这个插件做了很多事情来快速设置管理面板。
于 2010-11-29T03:34:35.873 回答
0

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

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

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

于 2008-09-15T12:40:02.247 回答
0

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

活动管理员主站点

于 2013-06-12T09:36:31.460 回答