2012-03-08 12 views
5

मैं एम्बरजे (और एम्बर-डेटा) के साथ वर्तमान उपयोगकर्ता जानकारी पुनर्प्राप्त करने के लिए एक उत्तम दर्जे की रणनीति की तलाश में हूं।वर्तमान उपयोगकर्ता को पुनर्प्राप्त करने के लिए रणनीति

वर्तमान में, मैं निम्न कार्य करें:

मेरे एपीआई वर्तमान उपयोगकर्ता के साथ /users/me प्रतिक्रिया करता है।
मेरे एडाप्टर में, जब पुनर्प्राप्त ऑब्जेक्ट आईडी वह नहीं है जिसे मैं उम्मीद कर रहा हूं, तो मैं real_id जोड़ता हूं जो आईडी (डेटाबेस में उपयोगकर्ता की आईडी) है और मैं वास्तविक लौटा आईडी को जो मैं कर रहा हूं उसे प्रतिस्थापित करता हूं उम्मीद।

तो जब मेरी एडाप्टर है "मुझे" उपयोगकर्ता के आईडी, लेकिन सर्वर रिटर्न 1 के रूप में, मैं निम्नलिखित json मिलती है:

{"real_id": 1, "id": "me"} 

यह काम करता है। लेकिन मैं एक बड़ा प्रशंसक नहीं हूं, और एडाप्टर की डिफ़ॉल्ट सामग्री को बदलने के लिए जितना संभव हो उतना मश से बचना चाहता हूं।

क्या आप इसके लिए कोई रणनीति उपयोग करते हैं? आप क्या सुझाव देंगे ?

उत्तर

9

मैं इसके लिए नियंत्रक App.currentUserController का उपयोग करूंगा।

App.CurrentUserController = Ember.ObjectController.extend({ 
    content: null, 

    retrieveCurrentUser: function() { 
     var controller = this; 
     Ember.$.getJSON('/users/me', function(data) { 
      App.store.load(App.User, data); 
      var currentUser = App.store.find(data.id); 
      controller.set('content', currentUser); 
     }); 
    } 
}); 
+0

मैंने कोशिश की है कि, लेकिन मैं 'मिल Uncaught TypeError: विधि undefined' – X2theZ

+0

जेवियर की 'लोड' फोन कर सकते हैं नहीं, जहाँ भी आप अपनी दुकान को परिभाषित करने के लिए जाना है, और जोड़ने App.store = App.Store। बनाएं() – Vojto

-5
get = Em.get 
set = Em.set 
App.AccountController = Em.Controller.extend 

     contentBinding: '_content.firstObject' 

     init: -> 
      set @, "_content", App.User.find() 
+2

यह मानता है कि पहले लौटाए गए उपयोगकर्ता वर्तमान हैं, जो एपीआई के लिए सबसे अच्छा विचार नहीं हो सकता है। –

+0

आप इसे सर्वर –

+0

पर सीमित कर सकते हैं क्या आप समझा सकते हैं * क्यों * इससे मदद मिलती है। – ChrisF

संबंधित मुद्दे

 संबंधित मुद्दे