Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 按日期1.day.ago、1.week.ago等从param动态筛选结果_Ruby On Rails_Ruby - Fatal编程技术网

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)