如果我没记错的话,我相信这被称为命名范围。无论如何,有没有人知道更好/更有效的编码方式..
这是来自Rails 4模型
def line_total
product = Product.find_by_id(self.product_id)
line_total = self.quantity * product.current_price
return line_total
end
答案 0 :(得分:1)
这不适合作为范围。您定义的方法最有意义。但是这个方法可以简化。
模型是否有定义为Product
的关联?像has_one :product
这样的东西?如果是这样,该方法可能如下所示:
class Rails4Model < ActiveRecord::Base
has_one :product
def line_total
quantity * product.current_price
end
end
答案 1 :(得分:1)
def line_total
quantity * Product.find(product_id).current_price
end