我需要以管理员身份执行当前用户。所以我试图更新我的用户表。在我的用户表中有一个名为admin的字段,它有boolean datatype。
if current_user.admin != true
current_user.update_attributes(:admin => 'true')
end
但这并没有反映在我的表格中。那我该怎么办呢?
答案 0 :(得分:0)
试试这个
if current_user.admin != true
current_user.admin = true #if admin is boolean
current_user.save
end
这应该有用。
答案 1 :(得分:0)
让它更“通用”
class User
def grant_admin!
update_attribute(:admin, true)
# you dont need to check if he is alread an admin since rails won't
# write to DB unless any value changed
end
end
# in controller
#...
current_user.grant_admin!
帮自己一个忙,看看https://github.com/ryanb/cancan及其railscasts