如果我的数据库设置为false,那么更新数据库中的布尔值是什么最佳做法?
我可以在控制台上执行此操作:
>> u = User.find_by_id(1)
接下来我该怎么做?
由于
答案 0 :(得分:11)
如果你想切换布尔值:
u.<attribute>.toggle! # Toggles the boolean and saves without validations
u.<attribute>.toggle # Toggles the boolean and does not save
如果要设置布尔值:
u.<attribute> = [true|false]
如果您想立即更新布尔值:
u.update_column(:<attribute>, [true|false]) # Doesn't update timestamps or call callbacks
u.update_attribute(:<attribute>, [true|false]) # Updates timestamps and triggers any callbacks
答案 1 :(得分:0)
>> u.boolean_property = false
>> u.save
其中boolean_property
是您要设置为false的属性的名称。
这是最简单的方法(只是直接设置),还有其他方法,具体取决于您的需求: http://www.davidverhasselt.com/2011/06/28/5-ways-to-set-attributes-in-activerecord/