我有一个ProductsColor
模型。给定一个params哈希,有没有办法用一种方法设置现有记录的属性而不保存它?类似于ProductsColor.new(params)
实例化一个对象并将其属性设置为params
哈希值中的那些,我想设置现有记录的属性而不保存它:
params = {name: "hey"}
p = ProductsColor.find(1)
p.something(params) # does not save to the database, but does set the value of the params to p in memory
p.name # "hey"
p.save # <-- now it saves permanently
答案 0 :(得分:5)
你可以这样做:
p = ProductsColor.find(1)
p.assign_attributes(params)
不会保存
答案 1 :(得分:1)
答案 2 :(得分:0)
有一个名为assign_attributes的活动记录方法,用于为活动记录对象分配属性。它应该是下面的内容,
products_color = ProductsColor.first
products_color.assign_attributes({name: 'New name'})