gpt4 book ai didi

ruby - 使用 Ransack 搜索枚举字段

转载 作者:数据小太阳 更新时间:2023-10-29 07:10:19 30 4
gpt4 key购买 nike

我有一个表,'jobs' 和一个枚举字段'status'。 status 具有以下枚举集:

enum status: [ :draft, :active, :archived ]

使用 ransack,我如何过滤表,比如说,所有事件记录?

最佳答案

你可以像这样在模型中声明自己的掠夺者:

ransacker :status, formatter: proc {|v| statuses[v]} do |parent|
parent.table[:status]
end

然后您可以使用默认的搜索语法 _eq 来检查相等性,如下所示:

Model.ransack(status_eq: 'active').result

编辑:如果列名没有改变,你可以跳过代码块:

ransacker :status, formatter: proc {|v| statuses[v]}

关于ruby - 使用 Ransack 搜索枚举字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257835/

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