ari*_*uod 46

User.update_all({name: 'test'},{name: 'test1'}) # deprecated since Rails 4
Run Code Online (Sandbox Code Playgroud)

要么

User.where(name: 'test1').update_all(name: 'test')
Run Code Online (Sandbox Code Playgroud)

  • 可以在调试旧代码15分钟后确认,第一行在Rails 4中已弃用(希望他们发出警告!). (12认同)
  • 我认为第一个选项现在实际上已经贬值了. (5认同)
  • 我还想指出,该语句作为单个 update where 子句运行,而不是作为单个 select where 然后更新语句运行。 (2认同)

Pet*_*xey 8

User.where("name like 'test1'").update_all("name = 'test'")
Run Code Online (Sandbox Code Playgroud)