是否可以定义像activeadmin这样的非管理员用户界面?

时间:2012-08-29 17:24:06

标签: ruby-on-rails activeadmin

我正在使用rails和activeadmin创建应用程序。我想为管理员和非管理员用户使用相同的界面。

是否可以从activeadmin外部调用方法show,index,column,attribute_table等?

例如,我想为这样的用户创建一个索引页:

<%= index @users do
  column :name
  column :last_name
  column :email do |user|
    link_to user.email , user_path(user)
  end
  column :status
end %>

1 个答案:

答案 0 :(得分:0)

可以使用ActiveAdmin定义整个应用程序。

步骤:

  1. 根据命名空间定义身份验证方法和当前用户:

    #config/initializers/active_admin.rb
    config.namespace :admin do |admin|
        admin.authentication_method = :authenticate_admin_user!
        admin.current_user_method = :current_admin_user
    end
    config.namespace false do |c|
        c.authentication_method = :logged_in?
        c.current_user_method = :current_user
    end
    
  2. 配置文件夹:

    #config/initializers/active_admin.rb
    config.load_paths = [File.expand_path('app/admin', Rails.root), File.expand_path('app/users', Rails.root),]
    
  3. 使用app/adminActiveAdmin.register Resource do

  4. ActiveAdmin.register_page 'Page name' do下的管理员定义网页和资源
  5. 使用app/usersActiveAdmin.register Resource , namespace: false do

  6. ActiveAdmin.register_page 'Page name' , namespace: false do下的非管理员用户定义网页和资源