问题描述
我正在尝试通过ransacker对活动管理员使用过滤器,但我无法使其正常工作。
我的模型的结构是: 贷款has_many:付款人 付款人归属地:人 并有一个属性:'give_name'
ransacker :payer_name,formatter: proc { |name|
results = Loan.joins(:payers => :person).where(payers: {people: {given_name: name}}).map{|l| l.id}
results = results.present? ? results : nil
},splat_params: true do |parent|
parent.table[:id]
end
在Active Admin模型中:
filter :payer_name_eq,label: "Payer Name"
过滤器确实出现在UI上并已连接到方法。通过一个byebug,我验证了变量“结果”包含正确的值,但是过滤器始终显示0个结果。 有什么想法我的代码是错误的吗?
我将这些用作来源: https://cavewall.jaguardesignstudio.com/2014/05/01/activeadmin-filters-with-ransack/ https://github.com/activerecord-hackery/ransack/issues/36(已编辑)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)