Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 活动脚手架:在带有时间戳的列上进行字段搜索_Ruby On Rails_Activescaffold - Fatal编程技术网

Ruby on rails 活动脚手架:在带有时间戳的列上进行字段搜索

Ruby on rails 活动脚手架:在带有时间戳的列上进行字段搜索,ruby-on-rails,activescaffold,Ruby On Rails,Activescaffold,我在控制器中根据启用了字段搜索功能 我已经在两列上启用了字段搜索,如下所示 class FooController

我在控制器中根据启用了字段搜索功能

我已经在两列上启用了字段搜索,如下所示

class FooController
列date的类型为date,在postgresql数据库中创建的列的类型为timestamp

使用上面的配置参数,我成功地在活动scaffold呈现的视图上获得了一个搜索表单。在搜索表单上有一个下拉列表,其中包含运算符(例如介于之间)和两个用于选择范围的输入控件

现在的问题是,按日期搜索效果很好,而按创建时间搜索则不起作用

经过详尽的研究,我发现了一个示例,其中描述了活动scaffold默认使用datetime格式,该格式在./config/locales/en.yml下配置,在我的示例中显示如下

en:
   time:
       formats:
           default: "%Y%m%d%H%M%S"
很明显,输入格式是怎样的确实很重要。创建搜索的搜索输入为,例如:从201801000000到20181231000000

在网上,我发现了以下几点:

选项[:格式]可设置为: 日期和时间列,它将用作I18n.localize的format参数以对其进行格式化

我不明白我必须在控制器内的选项参数中定义什么样的值

config.columns[:created_at].options[:format] = ???

刚在写问题时找到答案:-)

如果我在./config/locales/en.yml中定义一个新条目,例如时间戳,如下所示

en:
    time:
        formats:
             timestamp: "%Y%m%d%H%M"
并在我的控制器中执行以下操作

config.columns[:created_at].options[:format] = "timestamp"
然后,我可以通过在创建时输入201801010000和201812310000成功地进行搜索