2013-10-23 4 views
7

내 응용 프로그램에서 rails_admin을 사용하고 있습니다. 내 모델에 일부 범위가 있습니다. 예를 들면 다음과 같습니다.rails_admin의 필터로 범위 지정

class User < ActiveRecord::Base 

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

end 

이러한 범위를 필터로 액세스 할 수 있습니까? 당신이 능동적 인 관리자가 될 수있는 것처럼. 사용자 섹션의 어딘가에 버튼을 추가하는 것과 같습니다.

감사합니다.

+5

원하는 것은 무엇입니까? 그것이 바로 당신이하는 방법입니다. – MZaragoza

답변

2

사용자 지정 rails_admin 작업을 추가하여이 작업을 성공적으로 처리했습니다.

자세한 내용 : 예를 들어 https://github.com/sferik/rails_admin/wiki/Custom-action

:

# 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 

의 핵심은 그것이 '수집'행위라는 것이다. 그런 다음 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 

이 새로운 작업은 사용자 모델의 색인 수준에 나타납니다.