Ruby 模型搜索

Ruby model search

我正在尝试在我的应用程序上实现搜索功能,我想知道什么是最好的方法。

我有一个 Player 模型,其中包含 2 个布尔列(三、五)<-- 列名 我正在尝试根据列是真还是假来获取它们以进行可视化。 (显示全三或全五)

我应该为每个控制器创建控制器还是应该在播放器控制器中定义它们?

至于模型,最好的搜索方式是这样的?

players = Player.all
players.find_by three: true

或者有更优雅的方式?

如果您的场景变得更复杂,请分解查询对象。在那之前,这会让你接近。然后在您的参数中,您所要做的就是将查询设置为 'three' 或 'five' 以获得该类型的玩家。

class Player
  scope :by_three -> where(three: true)}
  scope :by_five  -> where(five: true)}
end

def index
  if params[:query] == 'three'
    @players = Player.by_three
  elsif params[:query] == 'five'
    @players = Player.by_five
  end
end