Ruby on rails 3 Backbone.js自定义休息路线
我刚接触主干网,在经历了一些教程应用程序之后,我尝试了我的第一个应用程序 我想知道实现以下目标的最佳方法是什么 在后端轨道上 我有一个模型名业务,它是一个具有许多属性的复杂模型,它有一个关联的地址,有一个:地址,有一个化身和另一个档案pitchure等等 从我的前端,我希望能够获取和更新业务配置文件的特定部分,比如说,我只希望获取基本信息,包括姓名、类别和地址,而不是更新配置文件图片和化身 我在主干中看到的是,该模型具有save、update、fetch和destroy方法 如果我想使用其他方法,如获取基本信息、获取个人资料、更新个人资料、图片,该怎么办?针对这些,我希望相关的视图得到相应的通知 这是我想到的 假设我想获取基本信息 将函数fetch_basci_info添加到主干模型 在该函数中,使用$.ajax向服务器发送自定义ajax请求 手动触发事件basicinfo:fetched 我的路由器内部功能 创建模型对象 创建一个新视图,比如BasicInfo视图,并将其传递给模型对象 在视图中绑定模型的偶数,比如model.bind'basicinfo:fetched',this.render 路由器初始化后,在路由器初始化中调用model.fetch_basic_info 因此,路由器被称为它创建视图绑定一个自定义事件并调用模型。fetch_basic_info请求被发送到服务器,响应被返回。I call set MANUAL在此处设置主干模型的属性。触发自定义事件后,将通知视图并呈现自身 这是我的第一个真正的主干应用程序,所以如果我正在做一些非常离谱的事情,请阻止我 你对此有何看法Ruby on rails 3 Backbone.js自定义休息路线,ruby-on-rails-3,backbone.js,Ruby On Rails 3,Backbone.js,我刚接触主干网,在经历了一些教程应用程序之后,我尝试了我的第一个应用程序 我想知道实现以下目标的最佳方法是什么 在后端轨道上 我有一个模型名业务,它是一个具有许多属性的复杂模型,它有一个关联的地址,有一个:地址,有一个化身和另一个档案pitchure等等 从我的前端,我希望能够获取和更新业务配置文件的特定部分,比如说,我只希望获取基本信息,包括姓名、类别和地址,而不是更新配置文件图片和化身 我在主干中看到的是,该模型具有save、update、fetch和destroy方法 如果我想使用其他方法
感谢您的阅读和feedbcak。我的第一个想法是,您将复制主干网已经提供的许多功能。我看不出你有什么理由要在客户端完全复制你的商业模式。为什么不将您的基本信息、概要文件等分解成单独的主干模型,并根据需要将它们应用到视图中呢 你想做的事情不是很安静。如果您试图这样做以节省资源或网络带宽,那么它几乎肯定是一个过早的优化-除非我们谈论的是数百或数千个领域-在这种情况下,有一个更好的解决方案 事实是,仅获取一张个人资料图片所使用的资源与获取50-100个字段所使用的资源几乎相同。是的,数据稍微多一些,但考虑到网络连接中90%的工作、延迟、资源和等待时间都来自于建立连接,实际上并没有节省那么多 另外,在数据库端,一个 从id=123的业务中选择* 使用的量仅比 从id=123的业务中选择profilepic 因为作业最困难的部分是建立到数据库的连接并找到正确的行。在那之后,它只是多一点数据-添加50个额外的列将对性能产生不明显的影响 只有当模型/表包含数百或数千个属性时,才会出现这种情况。在这种情况下,解决方案是将模型拆分为子模型。并通过REST单独处理它们。但它们应该是业务逻辑类型。例如,业务包含地址、员工、共享结构 我自己曾经是一个早熟的优化器。。。当我只需要1列时,不能返回10列。但是,如果您试图以可能需要的不同组合为每个数据子集编写web服务API,那么您的API实际上将不可用且无法维护。你也永远不会完成任何工作 如果您想从facebook的API上获取CocaCola的个人资料图片,您只需拨打:
并获取图片属性。如果你不需要其余的数据,谁在乎呢?它使事情保持简单、REST和易于维护。分解是一个很酷的想法,但我不会写我的后端来支持这些模型吗?我想这和你的方法差不多。你打算如何处理你的单独取回方法等。。获取基本信息,获取个人资料,获取pictureConsider@reach4用户回答。如果您可以有一个模型,并且每个视图都可以修改它们需要的任何内容并保存它,那么无论是在客户端还是在后端,事情都会简单得多。如果幸运的话,你可以在以后进行优化。