我有个模特叫“代理”
Agency活动记录中的一行如下所示:
#<Agency id: 1, name: "Hello", contact_person: "Abhimanyu", phone_number: "946159", email: "Abhimanyu@purple.com ", local_package: false, outstation: true, remarks: nil, status: 1>
这里我想把status
的值改为0
,怎么做呢?
我有个模特叫“代理”
Agency活动记录中的一行如下所示:
#<Agency id: 1, name: "Hello", contact_person: "Abhimanyu", phone_number: "946159", email: "Abhimanyu@purple.com ", local_package: false, outstation: true, remarks: nil, status: 1>
这里我想把status
的值改为0
,怎么做呢?
4条答案
按热度按时间sxissh061#
Ruby on Rails提供了许多方法来更新一个活动记录,你可以从this blog post中得到每个方法的不同之处。
ymdaylpp2#
您还可以使用此
第一个月
pkln4tw63#
您需要
update_column
方法。请尝试以下操作:您应该花一些时间阅读Ruby on Rails Guides。
krcsximq4#
要更新,您可以用途:
但是update_column将忽略模型上可能存在的所有验证。
如果您不想忽略模型验证,我建议您用途:
update_attributes方法在rails 6(https://blog.saeloun.com/2019/04/15/rails-6-deprecates-update-attributes.html)上已弃用
要查找要更新的记录,可以使用
.find
或.where
方法。如果可以按ID查找,请用途:如果需要按其他字段查找,请使用
.where
:使用
.first
是因为.where
将返回一个包含对象的Array,您需要选择其中的一个对象。如果您想要的对象不是第一个对象,则可以使用.last
。