【问题标题】:ActiveScaffold search date rangeActiveScaffold 搜索日期范围
【发布时间】:2014-05-13 14:00:30
【问题描述】:

我正在使用 ActiveScaffold 开发 Rails 应用程序。

问题是我需要按日期范围过滤结果列表。

(SQL 等效 'BETWEEN ? AND ?')

我知道 ActiveScaffold 有一个已经可以做到这一点的功能,但是它有太多的选择。 (过去、未来、范围、=、......、介于)。在这种情况下,我只需要该组合中的“介于”选项。

我尝试使用 Helper 覆盖该字段,但我得到的最接近的是显示 3 个不同的组合(一个代表年,一个代表月,一个代表日)。

有没有办法覆盖 Active Scaffold 以便只显示“Between”选项?

编辑 Active Scaffold 已经很好地完成了搜索部分。 我正在尝试更改视觉部分,使其不显示太多选项。

编辑 2 rails 的日历插件是从 2009 年开始的,或者它们不在维护中。

【问题讨论】:

    标签: ruby-on-rails ruby date ruby-on-rails-3.2 activescaffold


    【解决方案1】:

    您可以在 AR 中使用范围作为参数。

    Model.where(:date => from..to)
    

    另外,我不确定 ActiveScaffold 是否与它有关。通常,像这样的所有任务都可以在普通的 ActiveRecord 中完美解决。

    编辑: 事实证明,作者还需要获取用户对边界的输入。 这是一个常见的任务,可以通过一个用于日期选择器的 thouhands js 插件来解决。 我建议您不要为此而坚持使用 ActiveScaffold。 试试这个简单的Jquery datepicker,它将把普通的文本字段变成那个下拉日历。那么你只需要几行javascript。 如果您需要进一步的建议,请询问。

    【讨论】:

    • 感谢您的回答。不幸的是,我的问题是视觉问题。 ActiveScaffold 实际上可以很好地过滤,但如何显示它是我的问题。理想情况下,我需要显示两个日期选择器。
    • 好的,那么我们在这里面临两项专门的任务:一项用于实际选择记录,另一项用于获取用户输入。我的回答只针对第一个。我现在会更新答案。
    • 感谢您在 jQuery 日期选择器中指出我,这正是我需要的文本字段。将您的答案标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多