javascript - 未找到 'user_id' Ember-Data 问题的模型

标签 javascript ember.js ember-data

由于某种原因,我在尝试使用 ember 存储创建记录时不断收到此错误。

错误如下:未捕获错误:未找到“user_id”的模型

这是我导致错误的操作函数。我已经从模型和创建中删除了 user_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}),
});

最佳答案

很可能服务器返回带有 key user_ids 的哈希值,导致 ember 查找名为 user_id 的模型,而在您的情况下,服务器应该返回 key 用户

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

关于javascript - 未找到 'user_id' Ember-Data 问题的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020222/

相关文章:

javascript - 组件内的逆序 Ember 模型集合?

ember.js - 模型 promise 导致模板使用 .content

JavaScript 无法读取 null 的属性 'value'

javascript - 如何在javascript中隐藏警告框

javascript - 如何使用jquery在大dom中获得良好的性能?

javascript - 不能在每个循环中使用 Handlebars 变量两次

javascript - 如何从meteorjs 访问osTicket api?

javascript - 在 Ember.js 中重新渲染组件的 DOM

ember.js - ember Electron :package build failed, 由 ember-browserify 引起

ember.js - Ember Store : Sort, 过滤器,查找记录