Ruby on rails 带有ransacker的数字自定义筛选器不工作
我正在尝试在rails应用程序的ActiveAdmin中创建一个新的自定义过滤器。当我把下面的代码Ruby on rails 带有ransacker的数字自定义筛选器不工作,ruby-on-rails,ruby,activeadmin,ransack,ruby-on-rails-5.1,Ruby On Rails,Ruby,Activeadmin,Ransack,Ruby On Rails 5.1,我正在尝试在rails应用程序的ActiveAdmin中创建一个新的自定义过滤器。当我把下面的代码 filter:premium\u scenes\u in 它将输入字段显示为文本输入字段(带有选项“包含”、“等于”等),但我希望输入字段显示为数字字段,带有选项“等于”、“大于”或“小于” 我尝试使用: filter:premium\u scenes\u in,as::numeric 或 filter:premium\u scenes\u in,as::numeric\u range 但每次它都
filter:premium\u scenes\u in
它将输入字段显示为文本输入字段(带有选项“包含”、“等于”等),但我希望输入字段显示为数字字段,带有选项“等于”、“大于”或“小于”
我尝试使用:
filter:premium\u scenes\u in,as::numeric
或
filter:premium\u scenes\u in,as::numeric\u range
但每次它都显示一个错误无法找到输入类NumaricRangeInput
这是我在模型中的代码
ransacker :premium_scenes,
formatter: proc { |number|
results = Tour.all.map{|tour| tour if tour.scenes.count > number}
results = results.present? ? results : nil
}, splat_params: true do |parent|
parent.table[:id]
end
我想你的意思是as::number。支持的输入类型记录在中。注意:我对您尝试执行的操作几乎没有经验,因此无法提供具体帮助。。。但是我注意到这里可能有什么输入错误:
NumaricRangeInput
,我想我应该指出它,以防它是您的代码中的输入错误(例如您意外地声明了as::numaric_range
之类),而不仅仅是问题。。。所有的小东西都值得仔细检查。我没弄明白你的意思。我应该用什么来代替numaric_range?错误是Num-a-ricRangeInput,而不是人们所期望的Num-e-ricRangeInput。我明白你的意思。是的,我改了。这是一种类型,但仍然不能解决我的问题。现在,它正在为Ransack::Search:Ransack::Search显示未定义的方法“premium\u scenes\u in_equals”
,这听起来像是一个新的、独立的bug。。。我会先在你的项目中搜索premium\u scenes\u in_equals
,看看它在哪里调用。我用了number
,现在它显示了未定义的方法“premium\u scenes\u in”,用于搜索::搜索:搜索::你是说什么?出现在