首页 > 解决方案 > activerecord 在单个语句中查找和更新

问题描述

我发现自己经常写这种模式。这真的很难看而且很烦人,特别是如果我只是在控制台中进行快速更改。

u = User.find(some_id)
u.name = "new name"
u.save

最好的方法是什么,以便我可以在一个语句中做到这一点。我希望能够做这样的事情。

User.find(some_id).set({name:"new nane"}).save

标签: ruby-on-railscode-cleanup

解决方案


这应该可以正常工作

User.find_by(id: some_id)&.update_attributes(name: 'abc', second_attribute: 'some_value')

推荐阅读