【问题标题】:Best way to implement simple sorting / searching in Rails在 Rails 中实现简单排序/搜索的最佳方法
【发布时间】:2010-10-27 20:06:37
【问题描述】:

在 Rails 中实现这样的接口的最佳方法是什么?

目前我正在使用 Searchlogic,这有点痛苦。问题包括:

  • 确保某些操作保持正交 - 例如,如果您选择“短文”然后进行搜索,则您的搜索结果应仅限于短文。

  • 确保正确的链接获得“选定”类。现在链接是<a>'s,所以维护这个状态客户端是很棘手的。我通过让 AJAX 响应来破解它,比如说,排序返回一个新的排序链接部分,其中“选择”了正确的链接。使用单选按钮而不是 <a> 标签可以更轻松地维护状态客户端——也许我应该这样做?

【问题讨论】:

    标签: ruby-on-rails search sorting searchlogic


    【解决方案1】:

    我最近使用 named_scopes 和一些 ruby​​ 元编程解决了一个类似的问题,我将其整合到一个名为 find_by_filter 的插件中。

    find_by_filter 接受范围哈希 名称和值,并将它们链接到 参数化范围调用。如果模型有一个与提供的名称匹配的named_scope,则调用它。如果没有找到named_scope,则创建一个匿名范围。

    【讨论】:

    • 酷! find_by_filter 是否处理 SQL 注入等?
    • 参数绑定在你的命名范围内——所以如果你处理得当,你应该没问题。内部结构非常简单 - 随意撕掉这个想法:P。范围可以链接起来以形成复杂的查询——这确实是该方法的核心。我还验证了预期的过滤器选项(使用类似“if accepted.include?(params[:filter])”之类的东西,其中接受的是一个接受的字符串数组。
    猜你喜欢
    • 2021-04-24
    • 2012-04-09
    • 1970-01-01
    • 2014-03-26
    • 2023-03-25
    • 1970-01-01
    • 2013-05-25
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多