gpt4 book ai didi

ruby-on-rails - 如何按多个字段筛选结果?

转载 作者:行者123 更新时间:2023-12-02 06:24:41 27 4
gpt4 key购买 nike

我正在使用 ruby​​ on rails 开发一个调查应用程序,在结果页面上,我想让用户根据我在调查开始时提出的一系列人口统计问题来过滤答案。

例如,我询问用户他们的性别和职业是什么。所以我在考虑为性别和职业设置下拉菜单。两个下拉菜单都默认为全部,但如果用户选择女性和营销人员,那么我的结果页面将只回答女性营销人员的问题。

我认为这样做的正确方法是使用 named_scopes,其中我的每个人口统计问题都有一个 named_scope,在这个例子中是性别和职业,它将从下拉列表中获取经过净化的值以用于条件但我不确定如何动态创建 named_scope 链,因为我有 5 个人口统计问题,并且可能其中一些将被设置为全部。

最佳答案

您可以将命名范围链接在一起:

def index
@results = Results.scoped
@results = @results.gender(params[:gender]) unless params[:gender].blank?
@results = @results.career(params[:career]) unless params[:career].blank?
end

不过我更喜欢使用 has_scope gem :

has_scope :gender
has_scope :career

def index
@results = apply_scopes(Results).all
end

如果您使用 has_scopeinherited_resources ,您甚至不需要定义索引操作。

关于ruby-on-rails - 如何按多个字段筛选结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2815738/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com