Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在带有主干的eco模板中使用自定义模型功能?_Javascript_Jquery_Ruby On Rails_Backbone.js - Fatal编程技术网

Javascript 如何在带有主干的eco模板中使用自定义模型功能?

Javascript 如何在带有主干的eco模板中使用自定义模型功能?,javascript,jquery,ruby-on-rails,backbone.js,Javascript,Jquery,Ruby On Rails,Backbone.js,模型 观点 但我有一个错误: Uncaught TypeError: Object [object Object] has no method 'hasImageInDetails' 从代码看,您希望FeedItemView处理FeedItem类型的模型,因为您调用了在FeedItem上定义的方法model.isPost。Eco找不到的方法是在Post模型上定义的,因此从逻辑上讲,其中一个方法将失败 你的意思是从FeedItem扩展Post吗?在这种情况下,而不是: Network.Mode

模型

观点

但我有一个错误:

Uncaught TypeError: Object [object Object] has no method 'hasImageInDetails' 

从代码看,您希望FeedItemView处理FeedItem类型的模型,因为您调用了在FeedItem上定义的方法model.isPost。Eco找不到的方法是在Post模型上定义的,因此从逻辑上讲,其中一个方法将失败

你的意思是从FeedItem扩展Post吗?在这种情况下,而不是:

Network.Models.Post = Backbone.Model.extend({ ... });
您应该声明模型,以便:

Network.Models.Post = Network.Models.FeedItem.extend({ ... });

还可以包含调用eco.render的方法的代码吗?模板中的@model变量可能不是主干模型实例。请确保我包含了Post view,我在该示例中的任何位置都看不到模板被渲染。它可能在TagsRoot视图中调用吗?呃。。它仍然不在那里。您需要显示调用eco.rendertemplate,{model:…}的代码行。无论如何,问题很可能是您没有正确地将模型传递给模板。哦,很抱歉我找到了它的位置。好的,我在您上面写的时候更改了模型声明,并在Post模型中定义了hasImageInDetails方法,但在Post.jst.eco模板中仍然有相同的错误。您是否也将FeedItems传递到FeedItemView中?您的代码会建议这样做。任何没有定义或继承该方法的模型在传递到FeedItemView时都会导致该异常,因为它没有要调用的方法。我想这就是问题所在。否则,您的模板看起来很好。祝你好运
Uncaught TypeError: Object [object Object] has no method 'hasImageInDetails' 
Network.Models.Post = Backbone.Model.extend({ ... });
Network.Models.Post = Network.Models.FeedItem.extend({ ... });