toggle切換true/false
user.toggle(:terms_of_service)
PS: 1、如果原terms_of_service為true,則變成false
2、有無!表示是否跳過回調(diào)
touch更新對(duì)象時(shí)間戳
user.touch
PS:有無!表示是否跳過回調(diào)
decrement 相關(guān)
decrement
user = User.first
user.decrement(:age)
user.save
decrement!
user = User.first
user.decrement!(:age,2)
1、decrement 和 decreament! 都可以接兩個(gè)參數(shù),第二個(gè)參數(shù)是減少數(shù)(可?。?br> 2、decrement 需要save對(duì)象才會(huì)生效,decrement!直接生效
decrement_counter
User.decrement_counter(:age,1,touch: true)
1、參數(shù)含義decrement_counter(字段,id,是否更新時(shí)間戳可?。?br> 2、它是一個(gè)類方法
3、它沒有decrement_counter!這種寫法
4、它每次減少只能是1
update相關(guān)
update 與 update_attributes
1、后接hash,會(huì)更新對(duì)象中所有的字段
2、update_attributes不會(huì)跳過回調(diào)
update_column VS update_attribute
1、它們是唯一兩個(gè)不能接hash的方法(field,value)
2、update_attribute 不會(huì)跳過回調(diào)
update_columns
更新單個(gè)字段,接hash
update_all
1、類方法
2、更新所有對(duì)象