2012-02-27 4 views
8

В качестве ресурса, зарегистрированного ActiveAdmin, У меня есть следующие default_scope определены для модели:Как переопределить default_scope в ActiveAdmin в Rails

default_scope :order => 'activities.updated_at DESC' 

Это, видимо, мешает мне быть в состоянии изменить сортировку по индексу ресурса , нажав на заголовки столбцов. Есть ли способ сохранить эту область по умолчанию, но получить активную сортировку администратора для работы?

ответ

0

Вы пытаетесь объединить действия или просто заказывать их, потому что этот вызов только заказывает их, на самом деле он не просматривает запрос в строжайшей идее.

Из того, что я знаю о ActiveAdmin и из того, что говорится в их документации, вы должны, вероятно, настроить его таким образом.

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

Попробуйте это решение.

#/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(...) }