2

我正在寻找一种优雅的方式来进行模型方法调用。这是我的查询:

where("order_id = ?", argument).first

由于 first() 方法链接在 where() 方法之后,我无法在范围内使用此查询。

所以我尝试创建以下类方法:

  def self.find_order(value)
    where("order_id = ?", value).first
  end

当我在控制器操作中使用此方法两次时,我从 IDE 收到警告,我应该将此查询移动到范围中。当我在开始时重命名没有“find”的方法时,我的控制器中也会收到警告,除了 find() 或 new() 之外,我不应该调用多个方法(我有另一个模型方法在此调用控制器动作)。我知道,这不是一个真正的问题,因为它可以工作,但我对编写漂亮而枯燥的代码很感兴趣。我希望这不是一个烦人的问题,我应该公平地说我对编程比较陌生。提前致谢!

4

0 回答 0