在 Rails 中实现这样的接口的最佳方法是什么?
目前我正在使用 Searchlogic,这有点痛苦。问题包括:
确保某些操作保持正交——例如,如果您选择“Short Posts”然后搜索,则您的搜索结果应仅限于短帖子。
确保正确的链接获得“选定”类。现在链接是
<a>
's,所以在客户端维护这个状态是很棘手的。我通过让 AJAX 响应来破解它,比如说,排序返回一个新的排序链接部分,其中“选择”了正确的链接。使用单选按钮而不是<a>
标签可以更轻松地维护状态客户端——也许我应该这样做?
在 Rails 中实现这样的接口的最佳方法是什么?
目前我正在使用 Searchlogic,这有点痛苦。问题包括:
确保某些操作保持正交——例如,如果您选择“Short Posts”然后搜索,则您的搜索结果应仅限于短帖子。
确保正确的链接获得“选定”类。现在链接是<a>
's,所以在客户端维护这个状态是很棘手的。我通过让 AJAX 响应来破解它,比如说,排序返回一个新的排序链接部分,其中“选择”了正确的链接。使用单选按钮而不是<a>
标签可以更轻松地维护状态客户端——也许我应该这样做?
我最近使用 named_scopes 和一些 ruby 元编程解决了一个类似的问题,我将它们整合到一个名为find_by_filter的插件中。
find_by_filter接受范围名称和值的散列,并将它们链接到参数化的范围调用中。如果模型有一个与提供的名称匹配的named_scope,则调用它。如果没有找到named_scope,则创建一个匿名范围。