Active admin

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 [email protected] 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
默认账号密码是:  [email protected]  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


你可能感兴趣的:(Active admin)