所以我想创建一个rails网站,我想展示人。
我有活跃的人,团队,性别等各种范围:
scope :alphabetical, order('last_name, first_name')
scope :active, where('active = ?', true)
scope :inactive, where('active =?', false)
scope :female, where('female = ?', true)
scope :male, where('female = ?', false)
scope :for_school, lambda {|id| where("school_id = ?", id)}
但是在网站上显示所有这些人时,我希望有多个下拉列表来调用多个范围。就像我可以在活跃和不活跃之间来回走动,但也可以在男性和女性之间来回走动。
所以我首先从People.active开始,但是当选择男性时,我想将其更改为People.male.active。然后,如果为学校选择了另一个下拉列表,那么我想People.male.active.for_school(x)
。
我对rails非常陌生,所以我不知道如何在控制器上动态更改请求。我假设我必须编写一个方法,但该方法看起来很难编码。有没有一个宝石可以简化我的任务?或者我应该怎么做呢?
谢谢