在Active Admin(Rails)中设置不同的主键

时间:2011-06-29 07:15:31

标签: ruby-on-rails-3 activerecord mysql2

我使用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,但无法识别。

有任何帮助吗?请??

1 个答案:

答案 0 :(得分: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