Ruby模型搜索

时间:2015-04-04 02:32:45

标签: ruby-on-rails ruby gem

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

我有一个带有2个布尔列(三个,五个)< - 列名称的Player模型 并且我正在尝试获取它们以进行可视化,具体取决于列是true还是false。 (显示所有三分之一或全部五个)

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

对于模型,搜索它们的最佳方法是这样的吗?

players = Player.all
players.find_by three: true

还是有一种更优雅的方式?

1 个答案:

答案 0 :(得分:1)

如果您的方案变得更复杂,则会突破查询对象。在此之前,这将让你接近。然后在你的参数中你所要做的就是将查询设置为“三个”和“三个”。或者'五'获得那种类型的球员。

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