Ember.js Fixture findQuery

Ember.js Fixture findQuery,ember.js,Ember.js,我正在尝试更改Ember中的URL,以使用模型(标题)上的属性,而不是ID。如果单击指向的链接,我可以使所有内容正常工作,但当我重新加载模型路径时,所有内容似乎都崩溃了。在queryFixtures中,我可以得到返回所需的项目,并通过在模型钩子中将“实验”记录到控制台来记录到控制台 App.ExperimentRoute = Ember.Route.extend({ serialize: function(experiment, params) { return {

我正在尝试更改Ember中的URL,以使用模型(标题)上的属性,而不是ID。如果单击指向的链接,我可以使所有内容正常工作,但当我重新加载模型路径时,所有内容似乎都崩溃了。在queryFixtures中,我可以得到返回所需的项目,并通过在模型钩子中将“实验”记录到控制台来记录到控制台

App.ExperimentRoute = Ember.Route.extend({
    serialize: function(experiment, params) {
        return {
            experiment_title: experiment.get('urlFriendlyName')
        }
    },
    model : function(params) {
        experiment = this.get('store').find('experiment', { title: params.experiment_title });
        return experiment;
    }
});
我的商店:

App.Store = DS.Store.extend({
    adapter: DS.FixtureAdapter.extend({
        queryFixtures: function(fixtures, query, type) {

            function urlFriendlyTitle(title) {
                var ret = title.replace(/ /g,"-"); // replace spaces
                // do other replacements that make sense in your case, e.g.:
                ret = ret.replace(/&/g,"and");
                //... and so on and so forth
                // encode the remaining characters
                ret = ret.toLowerCase();
                ret = encodeURIComponent(ret);
                return ret;
            }
            return fixtures.filter(function(item) {
                if(urlFriendlyTitle(item.title) == query.title) {
                    // console.log(item);
                    return item;
                }
            });
        }
    })
});
更新:

App.ExperimentRoute = Ember.Route.extend({
    model : function(params) {
        experiment = this.get('store').find('experiment', {     });
        console.log(Ember.inspect(experiment))
        return experiment;
    }
});
在控制台中运行上述输出“

App.Router.map(function () {
  // Add your routes here
  this.resource('category', { path: '/:category_id'}, function() {
      this.resource('experiment', { path: '/:experiment_title' }, function() {
        this.resource('device', { path: '/:device' });
      });
  });
});

App.ExperimentRoute = Ember.Route.extend({
    setupController: function(controller, model) {
        console.log(Ember.inspect(model))
        console.log(Ember.inspect(controller))
    }
})

此路径输出

“一切都崩溃了”还不够-:)到底发生了什么?控制台消息?当你说你可以登录
模型
钩子时,你的意思是在
路线
?如果是这样,你能试试
console.log(Ember.inspect(experiment))
:)很遗憾,我没有收到任何错误消息。这正是我所指的(模型钩子)。这个屏幕截图就是我在console.log(实验)中看到的。我会试试上面的方法,明天再给你回复。我已经更新了我的问题,在你的评论中加入了你所要求的内容。好吧,这样对我来说一切都没问题。。。请发布您的
路由器
与此路由相关的代码。