Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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 未找到适用于';用户id';余烬数据问题_Javascript_Ember.js_Ember Data - Fatal编程技术网

Javascript 未找到适用于';用户id';余烬数据问题

Javascript 未找到适用于';用户id';余烬数据问题,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,由于某些原因,我在尝试使用ember store创建记录时不断遇到此错误 错误如下:Uncaught错误:找不到“用户id”的模型。 下面是导致错误的my actions函数。我已经从模型和创建中删除了user\u id和任何使用user模型的内容,但仍然会出现相同的错误。我根本不知道是什么导致了错误,错误本身也不是很有用。它没有给我任何导致代码错误的行号 addProposal: function() { var store = this.store; var self = t

由于某些原因,我在尝试使用ember store创建记录时不断遇到此错误

错误如下:
Uncaught错误:找不到“用户id”的模型。

下面是导致错误的my actions函数。我已经从模型和创建中删除了
user\u id
和任何使用
user
模型的内容,但仍然会出现相同的错误。我根本不知道是什么导致了错误,错误本身也不是很有用。它没有给我任何导致代码错误的行号

addProposal: function() {
    var store = this.store;
    var self = this;

    var foundUser = function(user) {
        console.log(user);
        var proposal = store.createRecord('proposal', {
            discount_code: self.get('discount_code'),
            user_id: user,
            status_id: self.get('status_id'),
            timeline: self.get('timeline'),
            expiry_dt: self.get('expiry_dt'),
            company_name: self.get('company_name'),
            client_email: self.get('client_email'),
            proposal_needed_by: self.get('proposal_needed_by'),
            data_needed_by: self.get('data_needed_by'),
            proposal_expiry_dt: self.get('proposal_send_dt'),
            liason_id: user,
            qb_id: self.get('qb'),
            version: self.get('version'),
            custom_discount: self.get('custom_discount'),
            notes: self.get('notes'),
        });


        var onSuccess = function(proposal) {
            console.log('Proposal was created');

            this.transitionToRoute('proposal', proposal);
        };

        var onFailure = function() {
            console.log('Something went wrong');
        };

        proposal.save().then(onSuccess, onFailure);

    };

    store.find('user', $.cookie('user_id')).then(foundUser);

    //console.log(this.get('statuses'));

}
以下是我的提案模式:

import DS from 'ember-data';
import Ember from 'ember';

var attr = DS.attr,
    hasMany = DS.hasMany,
    belongsTo = DS.belongsTo;

export default DS.Model.extend({
    discount_code: attr(),

    user_id: belongsTo('user', {async: true}),
    user: Ember.computed.alias('user_id'),


    status_id: belongsTo('status', {async: true}),
    status: Ember.computed.alias('status_id'),


    timeline: attr(),
    proposal_needed_by: attr(),
    data_needed_by: attr(),
    proposal_expiry_dt: attr(),

    company_name: attr(),
    client_name: attr(),
    client_email: attr(),
    sent_dt: attr(),

    liason_id: belongsTo('user', {async: true}),
    // Semantically better
    liason: Ember.computed.alias('liason_id'),

    qb_id: belongsTo('user', {async: true}),
    qb: Ember.computed.alias('qb_id'),

    version: attr(),
    custom_discount: attr(),
    notes: attr(),
    created_at: attr(),
    friendly_date: function() {
        return moment(this.get('created_at')).format('MMM Do YY, h:mm a');
    }.property('created_at'),


    updated_at: attr(),
    comments: hasMany('comment', {async: true}),
    logs: hasMany('log', {async: true}),
});

最有可能的情况是,服务器返回一个带有键
user\u id
的散列,导致ember查找名为
user\u id
的模型,而在您的情况下,服务器应该返回键
users


如果您无法更改服务器,您可以编写一个自定义适配器,该适配器将更改来自服务器的有效负载中的密钥名称。

只是想让您知道,设置async所属存在问题,遗憾的是,事实并非如此,我的服务器正在为/users
{“users”返回类似的内容:[{..},{..}]}
和/user/1
{“user”:{“id.}}