[英]No Model Found for 'user_id' Ember-Data issue
由於某些原因,當嘗試使用ember store創建記錄時,我一直收到此錯誤。
這是錯誤: Uncaught Error: No model was found for '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}),
});
服務器很可能返回帶有鍵user_ids
的散列,從而使ember查找名為user_id
的模型,而在您的情況下,服務器應返回鍵users
。
如果您無法更改服務器,則可以編寫一個自定義適配器,該適配器將更改來自服務器的有效負載中的密鑰名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.