2013-10-23 17 views
7

Tôi đang sử dụng rails_admin trong ứng dụng của mình. Tôi có một số phạm vi trên mô hình của tôi, sau đây là một ví dụ:Phạm vi làm bộ lọc trong rails_admin

class User < ActiveRecord::Base 

    scope :unconfirmed, where('confirmed_at IS NULL') 

end 

Có thể trong rails_admin để có được quyền truy cập vào những phạm vi như một bộ lọc? Giống như bạn có thể trong quản trị viên hoạt động. Giống như thêm nút ở đâu đó trong phần người dùng.

Cảm ơn

+5

Bạn muốn làm gì? Đó chính xác là cách bạn làm điều đó – MZaragoza

Trả lời

2

Tôi đã thực hiện thành công việc này bằng cách thêm hành động rails_admin tùy chỉnh.

Thông tin chi tiết: https://github.com/sferik/rails_admin/wiki/Custom-action

Ví dụ:

# in lib/rails_admin/unconfirmed.rb 

require 'rails_admin/config/actions' 
require 'rails_admin/config/actions/base' 

module RailsAdminUnconfirmed 
end 

module RailsAdmin 
    module Config 
    module Actions 

     class Unconfirmed < RailsAdmin::Config::Actions::Base 
     RailsAdmin::Config::Actions.register(self) 

     register_instance_option :controller do 
      Proc.new do 
      @objects = User.unconfirmed 
      render "index" 
      end 
     end 

     register_instance_option :collection do 
      true 
     end 
     end 
    end 
    end 
end 

Điều quan trọng là rằng đó là một 'bộ sưu tập' hành động. Sau đó, bạn thêm nó vào thiết lập rails_admin:

# in config/initializers/rails_admin.rb 
# require File.join(Rails.root, "lib", "rails_admin", "unconfirmed") 

RailsAdmin.config do |config| 
    config.actions do 
    # root actions 
    dashboard 
    # collection actions 
    index 
    unconfirmed do 
     only 'User' 
    end 
    end 
    # snip! 
end 

Hành động mới này sẽ xuất hiện ở cấp chỉ mục của mô hình Người dùng.

Các vấn đề liên quan