में $ संसाधन सेवा द्वारा लाया गया था। मेरे पास यह रेल ऐप है जो UserController द्वारा index.html.erb परोसता है। कोणीय नियंत्रक कि उस पृष्ठ संभालती में, मैं उपयोगकर्ताडेटा को बूटस्ट्रैप कैसे करें क्योंकि इसे Angular.js
CoffeeScript
.factory('User', ['$resource', ($resource) ->
$resource 'api/users/:user_id/:action', {authenticity_token:app.csrf},
query:
method: 'GET'
isArray: yes
new:
method: 'GET'
params:
user_id: 'new'
update:
method: 'PUT'
])
के लिए एक $ संसाधन सेवा है और नियंत्रक को हासिल करेगा
window.app = angular.module("app", ['userServices'])
.config(["$routeProvider", ($routeProvider) ->
$routeProvider
.when "/users",
templateUrl: "assets/templates/users/index.html"
controller: UserCtrl
.otherwise redirectTo: "/users"
])
# users Controllers
UserCtrl = ($scope, User) ->
User.query (r) ->
$scope.users = r
# code..
मुझे लगता है कि यह एक बहुत आम परिदृश्य है, लेकिन स्पष्ट रूप से इस पृष्ठ के लिए सर्वर पर एक से अधिक यात्राएं लेती हैं। मैं सोच रहा था कि अंगुलर के कुछ बूटस्ट्रैप डेटा का उपयोग करने का कोई तरीका है क्योंकि उन्हें $ संसाधन सेवा में बुलाए गए किसी क्रिया से डेटा वापस कर दिया गया था।
मैंने पहले से ही ग्लोबल वैरिएबल को गॉन रूब गम नामक ग्लोबल वैरिएबल को असाइन करके बूटस्ट्रैप डेटा भाग का ख्याल रखा है। मुझे पता है कि मैं बस $ scope.users = gon.users कर सकता था। लेकिन फिर इन उपयोगकर्ताओं के मॉडल को $ scope.users [0] जैसे niceties नहीं मिलेगा। $ Save()
धन्यवाद!
मैं संसाधन मॉड्यूल और/या अलग चुनने के लिए स्रोत में खुदाई सलाह देंगे हटाना $ संसाधन सेवा द्वारा प्राप्त एक वस्तु। इसके बाहर, आप हमेशा अपनी खुद की $ बचत विधि जोड़ सकते हैं जो $ http सेवा का उपभोग करता है और जो भी आपके मामले में आवश्यक है उसे प्रस्तुत करता है। –