使用Rails宝石Active Admin而不使用关联

这里有一个很好的问题 here,解释了如何正确使用 ActiveAdmin 与关联。

不过在我的情况下,我有一个客户模型,有多个关联到一个销售模型,而销售模型非常庞大。因此,当我尝试在 ActiveAdmin 中查看我的客户页面时,服务器会调用所有销售,以便(我猜)可以返回这些关联的列。

这导致服务器超时(504 Gateway Time-out ngx_openresty/1.4.3.6)。

有没有办法告诉 ActiveAdmin 在视图中忽略一个关联呢?即索引视图。一旦我到达“显示”视图,并隔离了一个客户,执行该客户销售的查询就可以了,但是在索引页面上运行所有客户和所有销售并不是必需的。

希望我已经说清楚了。

点赞
用户2585189
用户2585189

好的,我刚刚意识到在 customer.rb 文件中没有指定要在索引中使用哪些列,它会尝试抓取所有列,包括相关的列(如果我错了请纠正我)。

无论如何,之前我只有 config.per_page 代码行。通过添加 index do 和我的列,它现在可以正常工作了。这很容易!

ActiveAdmin.register Customer do

  config.per_page = 25

  index do
    selectable_column
    id_column
    column :customer_code
    column :customer_name
    column :customer_rep_name
    column :created_at
    actions
  end

  filter :customer_rep_name
  filter :market_segment_name

end
2014-03-12 06:32:02