2

我使用 Active Admin 作为 Rails 项目的界面(客户的请求)。问题是......我客户数据库中的大多数表都有名为“something_id”的主键字段,而不是普通的“id”。这带来了一个大问题,因为 Active Admin 会查找“id”字段,并且由于找不到,它基本上会导致页面崩溃并出现错误:

Mysql2::Error: Unknown column 'buzz_articles.id' in 'order clause': SELECT  `buzz_articles`.* FROM `buzz_articles` ORDER BY buzz_articles.id desc LIMIT 30 OFFSET 0

我尝试set_primary_key :article_id在资源中运行,但无法识别。

有什么帮助吗?请??

4

1 回答 1

2

这是我们正在处理的一个已知问题。要绕过它,请将 sort_order 添加到您的资源定义中。

例子:

ActiveAdmin.register Post do
  config.sort_order = 'something_id'
end

我没有亲自测试过,但据报道它在这里工作:https ://github.com/gregbell/active_admin/issues/148

此问题在 github 上的票证:https ://github.com/gregbell/active_admin/issues/235

于 2011-06-29T16:54:01.067 回答