gpt4 book ai didi

ruby-on-rails - 带有 Rails 的 Backbone.js - 处理模型中的重复逻辑

转载 作者:行者123 更新时间:2023-12-03 11:10:16 25 4
gpt4 key购买 nike

我有几年的 Rails 开发经验和几天的 Backbone.js 经验。在这几天之后,我想我进入了 Backbone.js 的味道。我想知道在开发 Backbone.js 富客户端脚本和 Rails 背后出现的那种重复。许多模型在 Backbone 端(模型结构和验证)部分重新实现。

你知道可以处理这种重复的工具、 gem 吗?或者一般来说解决这个问题有意义吗?

抱歉,有一个潜在的投机性问题。我想知道是否有人试图解决 Rails/Backbone 模型重复的问题。

最佳答案

您不必为 Backbone 创建重复的模型架构,尽管这通常是最简单的方法。 (如果您要走这条路线,则有 js 扩展 Backbone 添加了 ​​has_many 之类的东西:https://github.com/dbrady/ligament.jshttps://github.com/PaulUithol/Backbone-relational)

免责声明:不要做以下事情,这很糟糕。

但是您可以将任何 JSON 传递给您喜欢的主干,并将其称为“模型”,并制作一个单独的 Controller 来处理保存您放入其中的任何内容。如果您想将一团 JSON 发送到主干并将其保存在一个模型中,这可能会更困惑,但更简洁。

例子:

# controller
def index
@json = User.first.to_json(:include => {:address => {}, :contacts => {})
end

将该 JSON 发送到主干,您就有一个具有嵌套关系的对象,尽管如果没有某种方式来维护关系,这对 Backbone 来说几乎没有意义,因此您必须提取您想要在 JavaScript 中处理的位,将它们重新组合在一起,并使您在 Rails 中的创建/更新操作非常适合处理...

但关键是你可以任意创建你想要的任何类型的 JSON 对象——因为 Backbone 不知道 Rails 会用它做什么。 Backbone 只是获取一个 URL 来管理其 HTTP 请求,并相信服务器已设置为处理它抛出的任何内容。因此,请随意发送和接收您想要的 JSON 对象类型——只要注意,如果它们跨模型,您将不得不弄清楚如何在 Rails 中处理它们。

真的,不幸的是,仅仅在 Backbone 中强硬并复制大量模型架构就更干净了。

我认为到目前为止我见过的最神奇的 Backbone 就是上面列出的那些 js-association-making 库。 Backbone 仍然相当笨重。

“codebrew” https://github.com/codebrew/backbone-rails 有一个名为“backbone-rails”或“rails-backbone”的 gem (有一个奇怪的项目冲突使它变得模糊不清) ,这将生成一些不错的 CoffeeScript 供您使用。这可能是最简单的方法,但不像您想的那么简洁,因为它是一个代码生成器。

如果有人可以对此进行更多说明,或者完全反驳我,请这样做!我也处于我的 Backbone 知识的中间。

附言您可能不想依赖 Backbone 进行验证... :) 易于破解。如果您在 JS 中添加它们以减少错误提交的数量,那么您将不得不忍受重复验证。

关于ruby-on-rails - 带有 Rails 的 Backbone.js - 处理模型中的重复逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834794/

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