无法使用belongs_to:user更新Rails_Admin中的用户和模型

时间:2013-04-04 13:32:21

标签: ruby-on-rails belongs-to rails-admin

我有2个场景,但都解决了相同的结果。这两种情况都涉及尝试通过Rails_admin更新记录,两个模型都具有“belongs_to:user”关联。

场景1:我需要更新属于用户的视频记录。如果我尝试更改分配了此视频的用户,则user_id将始终更改为登录到Rails_Admin的管理员的user_id。无论我尝试编辑哪个字段,user_id都将更改为当前登录的管理员。

场景2:我需要更新属于用户的个人资料记录的信用额度。再一次,无论我更改哪个字段,即使用户不可见,user_id也会更改为当前登录的Admin的user_id。

建议?

2 个答案:

答案 0 :(得分:0)

听起来您的康康舞配置存在问题。

检查以下行:

可以:管理,视频,用户:用户

在这种情况下,RailsAdmin会将user_id的任何值覆盖为current_user。

答案 1 :(得分:0)

我有同样的问题,我通过改变我的能力来解决它,以避免能力重叠。这意味着,如果用户是管理员,那么他就没有为其他用户设置的能力。

导致错误的重叠示例:

user ||= User.new # guest user (not logged in)

can :manage, Video, user: user
if user.admin?
  can :manage, Video
end

这应该改为:

user ||= User.new # guest user (not logged in)

if user.admin?
  can :manage, Video
else
  can [:crud], Video, :user_id => user.id
end