如何通过在Rails 4中使用更新查询使当前用户成为管理员

时间:2015-09-01 08:55:19

标签: ruby-on-rails-4

我需要以管理员身份执行当前用户。所以我试图更新我的用户表。在我的用户表中有一个名为admin的字段,它有boolean datatype。

if current_user.admin != true
  current_user.update_attributes(:admin => 'true')
end 

但这并没有反映在我的表格中。那我该怎么办呢?

2 个答案:

答案 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