0
我发现自己做保存时的模型可能是昂贵的(也许是因为我节省一吨他们)以下:如果保存模型时没有更改,Rails/ActiveRecord会访问数据库吗?
changed = false
if user.name_changed?
#do some stuff
changed = true
end
if user.birthdate_changed?
#do some other stuff
changed = true
end
user.save! if changed
是使用changed
不必要的?如果没有任何改变,user.save!
会自动执行任何操作吗?
使用Rails v3.2.16,但很高兴升级到4.0,如果它在这方面效果更好。
如果没有更改,文档中没有提及“save”或“save!”是否访问数据库。 –
它说:“如果模型是新的,则在数据库中创建一条记录,否则将更新现有记录。”关键词“现有记录_更新._”在rails控制台中试用,当您运行'save!'时,您会看到执行查询。 –