Ruby on rails Rails:通过表对记录调用进行虚拟更新属性

Ruby on rails Rails:通过表对记录调用进行虚拟更新属性,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我想知道是否有可能实现这样的目标:Product.last(成本:100) 它将返回产品,但具有虚拟更新的成本属性(因此数据库没有更改) 下面是一个场景,也许有人可以告诉我一种更优雅的方式来完成我正在尝试的事情:我有三种型号,订单,行项目,和产品。行项目属于订单,订单中有许多行项目。LineItem是多态的。订单通过行项目包含多个产品(但产品不属于行项目或订单)。Order.products我不确定我是否理解您的问题,但您可以这样做以获取对象并在本地更改其属性值之一: @product =

我想知道是否有可能实现这样的目标:
Product.last(成本:100)

它将返回产品,但具有虚拟更新的成本属性(因此数据库没有更改)


下面是一个场景,也许有人可以告诉我一种更优雅的方式来完成我正在尝试的事情:我有三种型号,
订单
行项目
,和
产品
。行项目属于订单,订单中有许多行项目。LineItem是多态的。订单通过行项目包含多个产品(但产品不属于行项目或订单)。Order.products我不确定我是否理解您的问题,但您可以这样做以获取对象并在本地更改其属性值之一:

   @product =
      Product.last.tap do |product|
        product.cost = 100
        product.readonly! # to ensure you won't persist this change
      end