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