我怎样才能重构这个Ruby,Rails代码?

时间:2018-01-20 12:13:31

标签: ruby-on-rails ruby refactoring

我是Rails的新手......有没有更好的方法来重构这段代码:

^

3 个答案:

答案 0 :(得分:2)

您可以定义类似“价格”(模糊的方法名称,以避免使用get_或set_前缀)来预期参数,这将是查询模型的最大值或最小值:

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

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

答案 1 :(得分:0)

我不确定你的功能是否有效 但你可以尝试(如果价格是列,价格是int而不是字符串)

def get_product_price_minimum
      Product.order('price').last
end

答案 2 :(得分:-1)

def get_product_price(value) #value max or min as sym or string
  Product.pluck(:price).send(value.to_s)
end

或任何你想要的

UPD: 这是不怎么做 - 如果您已经将列定价为整数,那么您已经拥有的代码很容易 - 只需删除.to_i