官方文档: https://activeadmin.info/index.html
devise是用于登录验证
由于我们使用devise,所以我们需要运行这个构造器
执行后会创建这些文件
终端执行
activeAdmin 会在seeds.rb中生成默认用户的创建方式,终端执行下面命令来生成后台用户
然后就可以访问了,会让你登录,就用刚生成的用户的信息
initializer/active_admin
因为不需要comment(注解)这个功能,所以在initializer中的active_admin中关闭这个功能
config.comments = false
在右上角有一些快速导航按钮,默认的有两个,一个是当前的admin用户,另外一个是登出按钮,我们可以增加导航按钮
eg: Post是我的一个model
执行后会生成app/admin/post.rb文件
使用permit_params方法来定义哪些属性可以被修改,如果修改了没有被permit_params定义的属性,修改不会生效
默认的,所有的CRUD的actions都可以操作,如果要禁用其中的某些操作,用如下定义:
一个resource默认都会在全局导航栏上,如果要禁止一个resource出现在全局导航栏上,我们可以用:
menu有4个选项可以用:
:label - 指定该menu的名称
:parent -指定一个顶级菜单
:if -指定一个条件
:priority - 默认为10,在全局导航栏上的位置
config/initializers/active_admin.rb
提供4中样式,Block,Blog,Grid,Table,一般我们用的是table,也是默认的样式。这里只介绍table.
默认的,index页面会展示对应的model的所以字段,可供查看,修改,删除。
如果要自定义字段,可以用:
这些自定的字段要被index包裹
selectable_column 显示勾选框,用于批量操作
column 显示什么字段,该字段必须是model的字段名,可以给这个字段另取一个别名
还可以根据条件设置特别的row样式,这个some_style样式放在app/asset/stylesheets/active_admin.scss中
如果要给resource设置链接到查看,修改,删除这几个按钮,可以用actions方法
也可以增加自定的链接
获取重新设置链接
默认的表单是展示所有的字段
示例:
对应的图示:
link_to path 中的path指定的方式是
Index Filter 过滤器
一般的,通过上面这个形式就好了,activeadmin会自动判断其类型。
或者有另个情况,有个关联表。
通过:as可以指定类型,提供这一下这几种类型
语言层面上这两者有很多相似之处,不过从应用上,如果你想往 web 后端或者机器学习、数据挖掘上发展,选 Python;对前端感兴趣就学 Ruby 吧,LESS、SCSS 这些 CSS 预处理工具都是 Ruby 写的,而且 Ruby 开发者社区跟前端重叠度很高。另外,在 Mac 上,Ruby 的地位也是很高的。偏后台关注性能的话,可以参考一下这个benchmark https。//www。techempower。com/benchmarks/
里面有很多的测试方式,可以综合看一下
当然开发效率也要综合考虑,python和ruby的开发效率我估计都比较高,但 python 有一个好处是适用面很广,很多后台运维的东东都可以用python很快搞定
推荐Java。目前一般公司的后台用的开发语言大概有以下几种:java,python,php,asp.net,c++,rubyon rails 等等。
java
优点:性能好,适合大中项目,跨平台,安全性高,稳定可靠,运行效率高(尤其是JIT的出现之后差距更大了),不容易犯错(强类型、预编译、必须拦截异常等等),能有效的提高复用度,提升性能和吞吐能力,能规避安全问题。
缺点:开发复杂,开发和发布的效率相对较低,维护成本高,开发人员费用高
python
优点:简单易学,开发快,语言简洁,易于维护,开源,可移植,可扩展
缺点: 速度慢,格式强制,容易犯错
php:
优点:灵活,上手快,易修改,发布快捷,环境好部署
缺点:容易犯错,行效率不高,缺乏全局缓存
ruby on rails
优点:快速开发,使用者多,开发控件非常丰富
缺点:性能差,第三方包少
asp.net
优点:跨语言, 中小型项目上性能好,开发快,适合windows平台,维护成本低
缺点:代码逻辑混乱,难于管理,代码的可重用性差
国内的大公司偏业务的一般都用 Java 做后台开发比如淘宝,网易,美团等.
所以推荐选择java,北京尚学堂有着多年的java培训经验,雄厚的师资力量能让你体验到最好的java学习。