gpt4 book ai didi

javascript - 在主干网和 Rails 之间共享过滤、排序和验证逻辑

转载 作者:行者123 更新时间:2023-11-28 00:45:32 25 4
gpt4 key购买 nike

我发现自己经常必须在客户端和服务器端重复排序、过滤和验证逻辑。我希望将 Rails 服务器端的所有逻辑复制到主干上,这样我就可以执行 get 请求或客户端过滤器并获得相同的内容。排序和验证也是如此。

这可能是一个大问题,因此如果有人知道如何执行其中任何一项,我将非常感激。

这是一个例子来说明我的意思。这是 Backbone 过滤器

bySearchTerm: (term) ->
return @ if term == ''

filtered = @filter((item) ->
item.get("name").toLowerCase().indexOf(term.toLowerCase()) > -1 or item.get("number").toString().toLowerCase().indexOf(term.toLowerCase()) > -1
)
new Evue.Collections.Customers(filtered)

但后来我需要在服务器端复制它,以便有人可以执行 get 请求并获得相同的过滤结果。

unless params[:search_term].blank?
@customers = @customers.where("lower(name) LIKE ? or number LIKE ?", "%#{params[:search_term].downcase}%", "%#{params[:search_term].downcase}%")
end

当涉及到所有过滤器、排序和验证时,这会变得失控。我的答案是切换到节点并使用服务器和客户端逻辑的主干吗?不确定,什么都开放。

最佳答案

我建议您查看backbone.paginator - Backbone.js 插件,它定义了一些新的集合类型,具有增强的过滤、分页、排序功能。

我喜欢所谓的{mode: "client"} 方法(这有助于避免复制)。

关于javascript - 在主干网和 Rails 之间共享过滤、排序和验证逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27451319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com