Activeadmin: 如何通过自定义查询选择模型记录?

创建于 2013-02-06  ·  3评论  ·  资料来源: activeadmin/activeadmin

你好,

我有以下问题。 当我尝试输出模型记录时,我想排除 'dismiss'-field 等于 'FALSE' 的记录。 我怎么能这样做? 没有“default_scope”是否可能?
我的代码示例:

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

最有用的评论

Tnx。 解决方案:

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

所有3条评论

您可以在资源控制器中覆盖scoped_collection方法以使用自定义查询获取资源。

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

我试图以您编写的方式覆盖 scoped_collection。 但是所有的记录仍然是输出。 这是作为结果形成的查询:

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

Tnx。 解决方案:

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
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ryanwood picture ryanwood  ·  4评论

Awatatah picture Awatatah  ·  3评论

thejspr picture thejspr  ·  3评论

afriqs picture afriqs  ·  3评论

kaspernj picture kaspernj  ·  3评论