-1

私が間違っていなければ、これは名前付きスコープと呼ばれると思います。とにかく、これをコーディングするためのより良い/より効率的な方法を知っている人はいますか..

これはRails 4モデルからのものです

 def line_total
   product = Product.find_by_id(self.product_id)
   line_total = self.quantity * product.current_price
   return line_total
 end
4

2 に答える 2

1

これはスコープとして適切ではありません。あなたが定義したようなメソッドが最も理にかなっています。ただし、この方法は単純化できます。

モデルに関連付けが定義されていProductますか? みたいなhas_one :product?その場合、メソッドは次のようになります。

class Rails4Model < ActiveRecord::Base

  has_one :product

  def line_total
    quantity * product.current_price
  end

end
于 2013-09-19T22:59:39.220 に答える