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