Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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/6/multithreading/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 从另一个模型填充下拉列表_Ember.js - Fatal编程技术网

Ember.js 从另一个模型填充下拉列表

Ember.js 从另一个模型填充下拉列表,ember.js,Ember.js,我在EmberJS是一个完全的新手。我正在尝试用两个实体,用户和部门制作一个简单的应用程序。我为用户CRUD和部门CRUD提供了单独的模板和路由 下面是关于我的模型的详细代码 App.ApplicationAdapter = DS.RESTAdapter.extend(); App.Store = DS.Store.extend({ adapter: 'App.ApplicationAdapter' }); DS.RESTAdapter.reopen({ host: 'http

我在EmberJS是一个完全的新手。我正在尝试用两个实体,用户和部门制作一个简单的应用程序。我为用户CRUD和部门CRUD提供了单独的模板和路由

下面是关于我的模型的详细代码

App.ApplicationAdapter = DS.RESTAdapter.extend();

App.Store = DS.Store.extend({
    adapter: 'App.ApplicationAdapter'
});


DS.RESTAdapter.reopen({
  host: 'http://localhost:8081/slim'
});


App.Department = DS.Model.extend({
    departmentname : DS.attr(),
    user           : DS.hasMany('user')
});


App.User = DS.Model.extend({
  username     : DS.attr('string'),
  full_name    : DS.attr(),
  email        : DS.attr(),
  department_id   : DS.belongsTo('department')
});
在读取模式下,我可以使用以下命令显示用户所在的部门

Department: {{department_id.departmentname}}
但是,在用户编辑/用户创建模式下,我想在这里显示一个下拉列表,显示部门我不知道怎么做,因为在定义“用户”路线时,我将模型指定为App.User

我试过了,但没有成功

{{view Ember.Select content=model.departments}}
我的代码使用PHP rest api,因此它不会在jsbin上运行。但我仍然把链接


这在较新版本的ED(1.0 beta 1+)中不是必需的

应该就是这样

App.ApplicationAdapter = DS.RESTAdapter.extend({
  host: 'http://localhost:8081/slim'
});
只需将属性添加到控制器并获取部门

App.UserController = Ember.ObjectController.extend({
    departments: function(){
        return this.store.find('department');
    }.property(),

    isEditing : false,

    edit: function(){
        this.set('isEditing', true);
    },

    doneEditing: function(){
        this.set('isEditing', false);
        var user = this.get('model');
        user.save();
    }
});
然后在您的用户模板中

{{view Ember.Select 
       content=departments
       optionValuePath="content.id"
       optionLabelPath="content.departmentname"}}


PS这里有一个关于Ember Data 1.0 beta+更改的有用简短说明。

下拉列表中填充了以下字符串。。。。部门的数量与下拉列表项匹配,因此我猜控制器正确获取了部门。对不起,我认为您已经在查看文档了,我在上面添加了一个带有示例的链接
{{view Ember.Select 
       content=departments
       optionValuePath="content.id"
       optionLabelPath="content.departmentname"}}