Rails Rails 中 更新数据 之前 一定要查询吗?

xiongmaojames · July 07, 2015 · Last by xiongmaojames replied at July 07, 2015 · 2346 hits

交流 过程 中 我发现 1、这个问题本身 有争议 2、问题大答案也有争议

我提出问题 的依据是

里面 明显看到 find 方法 对于文档 中 的 代码 有人 说 这个 根本 没有查询,有人说查询了,因为 不查询 没法 更新

请问:1、您觉得 上面语句 的 查询了吗 2、如果您认为查询了,那 这个 是 必须的嘛 rails 有没有 提供 直接 更新 的办法

假设 我已经 知道 要更新的记录 的 id 我要实现 把 id 为 1 的记录 的 a 字段更新为‘草泥马’

直接 sql 可以 update table set a='草泥马' where id =1

还是 这 效率 高

先查询再更新,主要是因为 model 里的 validation,需要保证数据验证合法后再写入。 除非你是特别需要效率且不需要验证数据合法性,否则还是先读再写好。 另外查 development.log 就可以看到不同代码转换成 SQL 后的结果。 可以自己开 pry 做实验。

好吧,谢谢

You need to Sign in before reply, if you don't have an account, please Sign up first.