Rails控制器动态更新

时间:2013-04-24 04:42:53

标签: ruby-on-rails ruby database controller

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

请参阅ransack demo