[英]How to Insert a value/update the existing value with a new value for a single column in Rails 4
我的Rails应用程序中有一个Customers表,其中包含用于存储客户详细信息的列。 客户登录/注册后,该客户的基本详细信息将保存到此表列中。 在“客户”表中,有一个purchase_id列,默认情况下为空白。 当客户从我的网站购买商品时,purchase_id将被创建为@ order.purchase_id 。 因此,一旦购买完成,我想使用此@ order.purchase_id更新Customer Table,如下所示:
@customer.purchase_id = @order.purchase_id
如何在我的客户控制器中执行此操作? 我想保存/更新客户表以将purchase_id永久存储在我的表中。
您没有保存记录。
@customer.purchase_id = @order.purchase_id
@customer.save!
要么
@customer.update_attribute(:purchase_id, @order.purchase_id)
@Simone的建议是完美的
使用更新也和update_attributes一样
Customer.update(@customer.id, :purchase_id => @order.purchase_id)
但如果您在模型部分使用此操作,则更好,这是一个很好的尝试
或在模型客户中,
class Customer < ActiveRecord::Base
has_one :order
after_save :purchase_update
def purchase_update
self.update_attribute(:purchase_id, order.purchase_id)
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.