2011-03-27 77 views
0

在我的Rails应用程序中,我有视频。视频链接到Youtube,所以有时他们变得不可用。Backbone.Js终端/ Rails集成和URL参数

当我在Rails中查询我的视频终端时,我有时会传入“request_type =”url属性来表示我想获取已断开链接的视频。

为此,在backbone.js中,我简单地覆盖了url方法,并使用jQuerys params命令添加url参数。我现在的问题是更新现有的项目。它试图用一个URL类似如下:?

PUT /媒体request_type = broken_medias/2

显然/ 2的需求/媒体部分之后出现的URL。如果request_type参数保留在URL上并不重要,但我更喜欢它,因为我需要处理损坏的媒体的特定更新行为。

有关如何最好地处理这个问题的想法?独特的破媒介路线?检查我是否正在收集PUT请求?在执行更新请求之前覆盖url方法?

回答

0

为了完全控制Backbone对主干的请求,您需要覆盖您的集合或模型sync实际构建并生成ajax请求的方法。 在这里看到一个例子: Backbone.js updating of models in a collection

更新:我给它多一些想在Juliens评论,想起在数据库或模型url属性也可能是在那里你可以建立自己的URL的功能。

var myModel = Backbone.Model.extend({ 
    url: function(){ 
     // build my_url 
     // based on my specific rules 
     return my_url; 
    } 
}) 
+0

在这种情况下重新定义URL就足够了。 – Julien 2011-03-28 00:28:42

+0

感谢Julien,这实际上是一个更简单的解决方案,所以我更新了我的答案 – 2011-03-28 19:07:10