Ruby on rails 按日期1.day.ago、1.week.ago等从param动态筛选结果
我有一些筛选器参数被发送到我的控制器:Ruby on rails 按日期1.day.ago、1.week.ago等从param动态筛选结果,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一些筛选器参数被发送到我的控制器: params[:filter] = ["liked", "day"] 或 我是怎么做的 filter = params[:filter] Post.all.where('created_at > ?', 1.filter[1].ago) 这样我就可以编写一个查询来处理1.day.ago、1.month.ago等 而不是得到: NoMethodError: undefined method `filter' for 1:Fixnum 必须使用se
params[:filter] = ["liked", "day"]
或
我是怎么做的
filter = params[:filter]
Post.all.where('created_at > ?', 1.filter[1].ago)
这样我就可以编写一个查询来处理1.day.ago、1.month.ago等
而不是得到:
NoMethodError: undefined method `filter' for 1:Fixnum
必须使用
send
按名称调用方法:
Post.all.where('created_at > ?', 1.send(filter[1]).ago)
Post.all.where('created_at > ?', 1.send(filter[1]).ago)