Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Ember.js Rest适配器不会发出获取相关模型属性的GET请求_Ember.js_Ember Data - Fatal编程技术网

Ember.js Rest适配器不会发出获取相关模型属性的GET请求

Ember.js Rest适配器不会发出获取相关模型属性的GET请求,ember.js,ember-data,Ember.js,Ember Data,在一个试图模拟新闻提要的应用程序中,我有以下三个模型 Feed-{name:string,posts:hasmany(Post模型)} Post-{text:string,comments:hasmany(Comment模型),feed:belongsto(feed模型)} 注释-{text:string,post:belongsto(post模型)} 这三个模型都有单独的RESTAPI用于检索有效负载。 我需要能够检索数据并在单个路由资源下显示它们 RestaAdapter文档位于 说 帖子的

在一个试图模拟新闻提要的应用程序中,我有以下三个模型

  • Feed-{name:string,posts:hasmany(Post模型)}
  • Post-{text:string,comments:hasmany(Comment模型),feed:belongsto(feed模型)}
  • 注释-{text:string,post:belongsto(post模型)}
  • 这三个模型都有单独的RESTAPI用于检索有效负载。 我需要能够检索数据并在单个路由资源下显示它们

    RestaAdapter文档位于 说

    帖子的评论可以通过post.get(“评论”)加载。REST适配器将向/comments?ids[]=1&ids[]=2&ids[]=3发送GET请求

    下面的代码显示了我是如何尝试这样做的,但是我无法检索提要模型中的所有数据

    var Newsfeed = Ember.Application.create();
    
    Newsfeed.Router.map(function(){
        this.route('feed', {path:'/'});
    });
    
    Newsfeed.FeedRoute = Ember.Route.extend({
        model: function(){
            var model = Newsfeed.Feed.find(1);
            //model.set('posts', Newsfeed.Post.find()); -- This also did not work.
            //posts.set('comments', Newsfeed.Comment.find());
            return model;
        },
        setupController: function(controller, model){
            controller.set('content', model);
            controller.set('content.posts', model.get('posts'));
            console.log(controller.get('content.posts'));
            this.controllerFor('posts').set('content', model.get('posts'));
        }
    });
    
    Newsfeed.PostsView =  Ember.View.extend({
    
    });
    Newsfeed.PostsController = Ember.ArrayController.extend({
    
    });
    
    Newsfeed.FeedController = Ember.Controller.extend({
    
    });
    Newsfeed.Store = DS.Store.extend({
        revision:12,
        adapter: 'DS.RESTAdapter'
    });
    
    Newsfeed.Feed = DS.Model.extend({
        name:DS.attr('string'),
        posts:DS.hasMany('Newsfeed.Post')
    });
    
    Newsfeed.Post = DS.Model.extend({
        text : DS.attr('string'),
        comments:DS.hasMany('Newsfeed.Comment'),
        feed:DS.belongsTo('Newsfeed.Feed')
    });
    
    Newsfeed.Comment = DS.Model.extend({
        text: DS.attr('string'),
        post:DS.belongsTo('Newsfeed.Post')
    });
    
    我使用jquery.mockjax来模拟RESTAPI。我的有效载荷是-

    { "feed" :{
    id:1,
    name:"Ember Web App",
    posts :[1,2]
    }
    }
    {"posts" : [{
            id:1,
            text:"orem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempo",
            comment_ids:[1],
            feed_id:1
        },{
            id:2,
            text:"orem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempo",
            comments:[2],
            feed_id:1
    
        }]
     }
    

    关于我在这里可能缺少的内容,有什么建议吗?

    你是在试图侧载“帖子”吗?您是否已尝试确保它仅与提要一起工作?是的,在我的模板中,我可以显示提要[1]。名称。但是当我尝试遍历这些帖子时,我没有得到任何数据。但是我可以从PostsController访问posts数据。如果这是您的确切负载,那么看起来您在提要和帖子之间缺少了一个逗号,并且有一个额外的卷发。pay,lad应该是一个带有两个键的Json散列,feed和posts。也许这会有帮助?您的post控制器是否正在执行其自己的请求?不,我有一个/feeds api来获取提要负载和/posts api来获取post负载,还有一个用于注释。如果它们在相同的有效载荷中,那么这就是侧载,对吗?我想单独调用,最好通过提要控制器的“内容”在一条路径中获取数据。@PavithraKodmad,你想发回你是如何让它工作的吗。谢谢