Ruby on Rails:更新属性

Ian*_*lis 4 ruby-on-rails heroku rails-console

谷歌现在严重失败了.我需要做的就是从Heroku rails控制台更新一个属性,将用户设置为admin.

我找不到一个简单的答案.我一直在尝试的是:

Record.update_attribute(:roles_mask, "1")

记录是正确的记录.

'undefined method'更新属性''

我不能只打字Record.roles_mask = 1

编辑.

我使用了Record,在示例中我不应该这样做.我所做的就是这样:

ian = User.where(:id => '5')

ian.update_attribute(:roles_mask, '1')

Error: undefined method 'update_attributes'
Run Code Online (Sandbox Code Playgroud)

Mik*_*e S 6

问题是使用该.where函数创建一个关系,而不是查找记录本身.做这个:

ian = User.find(5)
ian.update_attribute(:roles_mask, '1')
Run Code Online (Sandbox Code Playgroud)

或者如果你想使用.where那么你可以这样做:

ian = User.where(:id => 5)
ian.first.update_attribute(:roles_mask, '1')
Run Code Online (Sandbox Code Playgroud)

编辑

有关发生这种情况的详细信息,请参阅此答案.