ActiveAdmin通过id提取错误记录

时间:2012-08-23 23:48:56

标签: ruby-on-rails activeadmin

这是我无法深究的一个:

我正在使用ActiveAdmin,我有一个用户标签(由Devise提供)。一切都很顺利。然后今天我去查看其中一个用户并注意到由于某种原因,它提取了我的用户帐户而不是我点击的用户帐户。我也尝试了显示页面,结果相同。它为所有用户执行此操作。我不知道什么时候开始...在今天之前我没有在相当长的一段时间内点击这些行动中的任何一个......至少几个星期。但关键是我必须做某事,现在除了我自己以外我看不到任何用户。

我在访问/ admin / users / 153后查看了日志,并看到了:

Parameters: {"id"=>"153"}
  User Load (0.6ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 2 LIMIT 1
  AdminUser Load (0.5ms)  SELECT "admin_users".* FROM "admin_users" WHERE "admin_users"."id" = 3 LIMIT 1

它选择了我的用户ID(2)而不是params hash(153)中的用户id。我没有在ActiveAdmin中修改任何内容,据我所知,我没有使用任何会干扰它的东西......所以我很难过。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

不确定我的回答会对您有所帮助,但我遇到了类似的问题。在我的例子中,我在application_controller中设置@challenge,我可以在任何控制器的任何地方使用它。当我通过Active admin编辑了Challenge记录时出现了问题,它更新了我之前设置的@challenge。我花了几个小时来弄明白这一点,结果只是因为共享类变量。