0

所以我想做一个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)}

但是在网站上显示所有这些人时,我希望有多个下拉列表,其中调用了多个范围。就像我可以在活跃和不活跃之间来回走动,也可以在男性和女性之间来回走动。

So I would start with People.active at first but when male is selected, I want to change it to People.male.active. 然后,如果为学校选择了另一个下拉列表,那么我想做People.male.active.for_school(x).

我对 Rails 很陌生,所以我不知道如何动态更改控制器上的请求。我假设我必须编写一个方法,但该方法看起来非常难懂。有没有可以简化我的任务的宝石?或者我应该怎么做?

谢谢

4

1 回答 1

0

Ransack之类的东西可能就是您所追求的。

请参阅洗劫演示

于 2013-04-24T04:53:04.557 回答