を通じて、私はそれがこのような何かを達成することが可能かどうかを知りたい:それはそうそこに(しかし、事実上、更新コスト属性と、製品を返しますProduct.last(cost: 100)
レール:事実上のレコードの呼び出しで属性を更新:テーブル
データベースに変更はありません)。
これはシナリオです。誰かが私にしようとしているよりエレガントな方法を教えてくれるかもしれません。Order
、LineItem
、Product
という3つのモデルがあります。 LineItem belongs_to OrderおよびOrder has_many LineItemsです。 LineItemは多相です。 LineItemsを介してhas_many製品を注文します(ただし、ProductはLineItemまたはOrderに属しません)。 Order.products < < Product.firstは私が予想したとおりに動作します。広告申込情報には商品が割り当てられ、注文は正しく保存されます。ただし、オーダの各明細には、原則として製品の原価を継承する原価属性があります。私はLineItemのコスト属性をProduct上で変更することなく変更したいとします。つまり、Productは価格を調整する一時的な割引をしています。私はこれについて最善の方法で行きますか?