Activeadmin: ¿Cómo puedo seleccionar registros de modelo mediante una consulta personalizada?

Creado en 6 feb. 2013  ·  3Comentarios  ·  Fuente: activeadmin/activeadmin

Hola,

Tengo el siguiente problema. Cuando intento generar registros de modelo, quiero excluir los registros con el campo 'descartar' igual a 'FALSO'. ¿Cómo podría hacer esto? ¿Es posible sin 'default_scope'?
Mi ejemplo de código:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'Пользователя', :user
      column 'Заапрувил член клуба', :member
      column :dismiss
      default_actions
  end
end

Comentario más útil

Tnx. Solución:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'Пользователя', :user
      column 'Заапрувил член клуба', :member
      default_actions
  end
  controller do
    def scoped_collection
      Approval.where(dismiss: false)
    end
  end
end

Todos 3 comentarios

Puede anular el método scoped_collection en su controlador de recursos para obtener recursos con una consulta personalizada.

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'Пользователя', :user
      column 'Заапрувил член клуба', :member
      column :dismiss
      default_actions
  end

  def scoped_collection
    Approval.where(dismiss: false) # this could be   **Approval.dismissed**
  end
end

Intenté anular scoped_collection en la forma en que escribiste. Pero todos los registros aún se emiten. Aquí está la consulta que se forma como resultado:

where Approval Load (0.2ms)  SELECT "approvals".* FROM "approvals" ORDER BY "approvals"."id" desc LIMIT 30 OFFSET 0

Tnx. Solución:

ActiveAdmin.register Approval do
  index do 
      column :id
      column 'Пользователя', :user
      column 'Заапрувил член клуба', :member
      default_actions
  end
  controller do
    def scoped_collection
      Approval.where(dismiss: false)
    end
  end
end
¿Fue útil esta página
0 / 5 - 0 calificaciones