-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 回答
1
 def line_total
   quantity * Product.find(product_id).current_price
 end
于 2013-09-19T23:05:19.363 回答