active admin
用户表(User)和管理用户表(AdminUsers)是分开的
->ActiveAdmin Installation
gem 'activeadmin', github: 'gregbell/active_admin' #Add to gemfile
bundle install
rails g active_admin:install
rake db:migrate
rails s, GO http://localhost:3000/admin, Login with admin@example.com and 'password' .
==安装==
1.声明,在gemfile中加入
gem 'activeadmin'
如果是 rails 3.1 以上版本,需要更多的bundle
# Gemfile in Rails >= 3.1
gem 'activeadmin'
gem 'sass-rails'
gem "meta_search", '>= 1.1.0.pre'
2.安装,用bundle命令
$ bundle 不带任何参数默认模式是 bundle install
$ rails generate active_admin:install
3.迁移数据库启动服务
$ rake db:migrate
$ rails server
4.访问 http://IP:3000/admin
默认账号密码是: admin@example.com password
==使用==
1.后台添加要管理的数据表
使用很简单,将中括号种的模型名字替换掉,然后刷新后台就可以对数据库进行管理了(MyModelName 必须为单数,如果为复数activeadmin会去寻找相关的类。)
rails generate active_admin:resource [MyModelName]
Area 表说明:如果新建城市,记得将它的parnum设置为0即可;如果新建区域,记得将它的parnum设置成对应城市的num即可。(需要为该表添加一个状态字段,来表明该记录是否要被展示使用)
由于rails 4 有strong_params 的关系,所以在active admin进行更新等操作需要额外的声明,文件在 app/admin/table_name.rb 在permit_params 中加上可以操作的字段。如:
ActiveAdmin.register MealCategory do
permit_params :name, :sequence, :state
end
2.自定义展示的列
index do
column :name
column "价格":price
column "价格":price,:sortable => :price
column "价格",:price do |meal|
number_to_currency(meal.price)
end
end
===定义查删改===
1.active admin中定义添加actions,默认包含所有的动作
actions
2.过滤相应的动作需要另外定义,如不给delete动作
actions :all, except: [:edit, :destroy]
===过滤按钮===
scope
1.在activeadmin model中
scope :bgprice
2.在model中定义scope方法
scope :bgprice ,-> { where("price > 0") }
#ref: http://guides.rubyonrails.org/active_record_querying.html#scopes
===选择按钮===
在activeadmin model 的 index 中加上
selectable_column
===删掉记录===
rails destroy active_admin:install
rails destroy active_admin:resource product
转载于:https://my.oschina.net/u/2407499/blog/531978