Activeadmin: Como posso selecionar registros de modelo por consulta personalizada?

Criado em 6 fev. 2013  ·  3Comentários  ·  Fonte: activeadmin/activeadmin

Olá,

Eu tenho o seguinte problema. Quando tento gerar registros de modelo, desejo excluir os registros com o campo 'dispensar' igual a 'FALSO'. Como posso fazer isso? É possível sem 'default_scope'?
Meu exemplo de código:

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

Comentários muito úteis

Tnx. Solução:

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 comentários

Você pode substituir o método scoped_collection em seu controlador de recursos para buscar recursos com 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

Tentei substituir scoped_collection na maneira como você escreveu. Mas todos os registros ainda são produzidos. Aqui está a consulta formando como resultado:

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

Tnx. Solução:

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
Esta página foi útil?
0 / 5 - 0 avaliações