2012-02-27 25 views
8

Trong một tài nguyên đăng ký với ActiveAdmin, Tôi có default_scope sau định nghĩa cho các mô hình:Làm thế nào để ghi đè default_scope trong ActiveAdmin trong Rails

default_scope :order => 'activities.updated_at DESC' 

này dường như ngăn cản tôi từ việc có thể thay đổi sắp xếp trên chỉ số của tài nguyên trang bằng cách nhấp vào tiêu đề cột. Có cách nào để giữ phạm vi mặc định này nhưng có được sắp xếp Active Admin để hoạt động không?

Trả lời

0

Bạn đang cố gắng điều chỉnh các hoạt động hoặc chỉ ra lệnh cho họ, bởi vì lệnh gọi này chỉ ra lệnh cho họ, nó không thực sự dò tìm truy vấn theo ý tưởng chặt chẽ nhất.

Từ những gì tôi biết về ActiveAdmin và từ những gì tài liệu của họ nêu rõ, bạn có lẽ nên thiết lập nó như thế này.

class Activities < ActiveRecord::Base 
    default_scope lambda { where :updated_at => true } 
    end 
33
ActiveAdmin.register Post do 
    controller do 
    def scoped_collection 
     Post.unscoped 
    end 
    end 
end 
1

Hãy thử giải pháp này.

#/admin/user.rb 
controller do 
    # for index page 
    def active_admin_collection 
    User.unscoped { super } 
    end 

    # for show, edit 
    def resource 
    User.unscoped { super } 
    end 
end 
1
scope('all', default: true) { |scope| scope.where(...) } 
Các vấn đề liên quan