मैं निम्नलिखित मॉडल:एंबर-डेटा में माता पिता और एम्बेडेड रिकॉर्ड बने
App.Company = DS.Model.extend({
name: DS.attr('string'),
accounts: DS.hasMany('App.Account', {
inverse: 'company'
})
});
App.Account = DS.Model.extend({
login: DS.attr('string'),
first_name: DS.attr('string'),
last_name: DS.attr('string'),
email: DS.attr('string'),
password: DS.attr('string'),
password_confirmation: DS.attr('string'),
company: DS.belongsTo('App.Company')
});
कंपनी के खाते में एम्बेडेड जा रहा है के रूप में परिभाषित किया गया है:
DS.RESTAdapter.map('App.Account', {
company: { embedded: 'always' }
});
जब मैं एक नया खाता बनाने, कंपनी डेटा सही ढंग से खाता डेटा में एम्बेड किया गया है और मुझे POST अनुरोध दिखाई दे रहा है जो मैं सर्वर पक्ष पर अपेक्षा करता हूं:
Started POST "/accounts" for 127.0.0.1 at 2013-06-27 13:30:53 +0200
Processing by AdminUsersController#create as JSON
Parameters: {"account"=>{"login"=>"fsdfdf", "first_name"=>"fgdfgh", "last_name"=>"[email protected]", "email"=>"[email protected]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]", "company"=>{"name"=>"gfdhgtrhzrh"}}}
हालांकि, मैं भी कंपनी खुद के लिए एक अतिरिक्त पोस्ट अनुरोध दिखाई दे रही है:
Started POST "/companies" for 127.0.0.1 at 2013-06-27 13:30:53 +0200
Processing by CompaniesController#create as JSON
Parameters: {"company"=>{"name"=>"gfdhgtrhzrh"}}
मैं मॉडल सेट कर रहा हूं इस प्रकार है:
this.transaction = this.get('store').transaction();
var account = this.transaction.createRecord(App.Account, {});
account.set('company', this.transaction.createRecord(App.Company, {}));
जब उपयोगकर्ता क्लिक बचाने के लिए, मैं बस के लिए प्रतिबद्ध लेनदेन:
this.transaction.commit();
क्या यह एक बग है या मैं कुछ गलत कर रहा हूं? उस पर काफी समय बिताया है ...
मदद के लिए धन्यवाद!
मैंने एम्बेडेड कॉन्फ़िगरेशन को DS.RESTAdapter.map ('App.Account', {company: {embedded: 'load'}} में बदलकर तय किया है; यकीन नहीं है कि यह वास्तव में क्यों काम करता है ... – marcoow
मुझे लगता है कि यह एक संबंधित है जैसा कि कई के रूप में व्यवहार किया जाता है। कई लोगों के साथ (यहां तक कि बच्चों के साथ भी) आप वास्तव में एक बच्चे के रिकॉर्ड बनाने के लिए रिश्ते का उपयोग करते हैं, लेकिन संबंधित के साथ रिश्ते शून्य है ताकि आप इसे इस से नहीं बना सकें .get ('company')। CreateRecord –
मैंने एक पुल बनाया अनुरोध जो मुझे लगता है कि इसे ठीक करता है - मुझे नहीं लगता कि इसे फ़िर का काम क्यों नहीं करना चाहिए इसके साथ-साथ यह भी है: https://github.com/emberjs/data/pull/1067 – marcoow