Ruby on rails 如何重构这个Ruby、Rails代码?

Ruby on rails 如何重构这个Ruby、Rails代码?,ruby-on-rails,ruby,refactoring,Ruby On Rails,Ruby,Refactoring,我是Rails的新手。。。是否有更好的方法重构此代码: def get_product_price_minimum Product.minimum(:price).to_i end def get_product_price_maximum Product.maximum(:price).to_i end 我不确定你的功能是否有效 但您可以尝试(如果price是column,price是int而不是string) 我不确定你的功能是否有效 但您可以尝试(如果p

我是Rails的新手。。。是否有更好的方法重构此代码:

  def get_product_price_minimum
    Product.minimum(:price).to_i
  end

  def get_product_price_maximum
    Product.maximum(:price).to_i
  end

我不确定你的功能是否有效 但您可以尝试(如果price是column,price是int而不是string)


我不确定你的功能是否有效 但您可以尝试(如果price是column,price是int而不是string)


您可以定义类似“prices”(一个模糊的方法名称,以避免使用get_u或set_uu前缀)的内容来期望参数,该参数将是查询模型的最大值或最小值:

def prices(what)
  Product.public_send(what, :price).to_i
end

然后,您可以通过将最小值或最大值作为符号或字符串传递来使用它。

您可以定义类似“prices”(一个模糊的方法名称,以避免使用get_uu或set_uuu前缀)的内容来期望参数,该参数将是查询模型的最大值或最小值:

def prices(what)
  Product.public_send(what, :price).to_i
end

然后您可以通过将最小值或最大值作为符号或字符串传递来使用它。

这两种方法的目的是什么,因此我可以根据目的给出解决方案。e、 你想要最低价格的产品为什么这两种方法是个问题?当然,你可以把它们混在一起,但目的是什么?重构会使代码更容易阅读吗?更容易使用?更容易调试?更容易测试?更快?也许把他们转移到
Product
上的类方法上,今天到此为止。重构是伟大的,但这还不足以让它变得值得(IMO)。这两种方法的目的是什么,所以我可以根据目的给出解决方案。e、 你想要最低价格的产品为什么这两种方法是个问题?当然,你可以把它们混在一起,但目的是什么?重构会使代码更容易阅读吗?更容易使用?更容易调试?更容易测试?更快?也许把他们转移到
Product
上的类方法上,今天到此为止。重构是伟大的,但它的价值还不够(IMO)。最大值呢?最大值呢?