Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 为什么';我的模型挂钩没有收到参数吗?_Javascript_Ruby On Rails_Ember.js - Fatal编程技术网

Javascript 为什么';我的模型挂钩没有收到参数吗?

Javascript 为什么';我的模型挂钩没有收到参数吗?,javascript,ruby-on-rails,ember.js,Javascript,Ruby On Rails,Ember.js,免责声明:主要新手警告 在本教程之后,我已经成功地设置了Rails后端/Ember前端项目 我的路由器是 import Ember from 'ember'; import config from './config/environment'; var Router = Ember.Router.extend({ location: config.locationType }); Router.map(function() { this.resource('contacts', fu

免责声明:主要新手警告

在本教程之后,我已经成功地设置了Rails后端/Ember前端项目

我的路由器是

import Ember from 'ember';
import config from './config/environment';

var Router = Ember.Router.extend({
  location: config.locationType
});

Router.map(function() {
  this.resource('contacts', function() {
    this.resource('contact', { path: '/:contact_id' });
  });
});

export default Router;
现在我想根据联系人的姓氏设置只查找某些联系人的可能性,因此我遵循了

我修改了我的
app/routes/contacts/index.js
route,现在看起来像这样:

import Ember from 'ember';

export default Ember.Route.extend({
  queryParams: {
    lastName: {
      refreshModel: true
    }
  },
  model: function(params) {
    return this.store.findQuery('contact', params);
  }
});
app/controllers/contacts.js

import Ember from 'ember';

export default Ember.ArrayController.extend({

  queryParams: ['lastName'],
  lastName: null,

});
不幸的是,
params
没有填充,即使我在浏览器中指定了查询参数。更准确地说,
params
对象如下所示:

import Ember from 'ember';

export default Ember.Route.extend({
  queryParams: {
    lastName: {
      refreshModel: true
    }
  },
  model: function(params) {
    return this.store.findQuery('contact', params);
  }
});

里面似乎没有我感兴趣的东西

然而,查询参数信息以某种方式传播到视图,所以我感到有点困惑。在我的路线中,如何为模型挂钩填充
params

似乎是这样。一个简单的解决方法是通过可选的转换参数访问查询参数:

import Ember from 'ember';

export default Ember.Route.extend({
  queryParams: {
    lastName: {
      refreshModel: true
    }
  },
  model: function(params, transition) {
    return this.store.findQuery('contact', transition.queryParams);
  }
});