içine almak için AngularJS'yi kullanıyorum. AngularJS'yi, Railscast numaralı bağlantıya dayanarak Rails uygulamasına başlatmaya çalışıyorum. Sorum şu soruya benzer: Angular JS ngResource with nested resources, ancak benim sorunum için bir çözüm bulamadım.İç içe geçme kaynağını Rails
Şu anda, bir üst kısmi aracılığıyla üst kaynak görünümünde görüntülediğim iç içe geçmiş bir kaynağa sahibim. Ben görevlerini almak üzere sorguda PROJECT_ID sağlamanız gerekir, bu yüzden vardır:
app.factory "Task", ["$resource", ($resource) ->
$resource("/projects/:project_id/tasks/:id", {project_id: "@project_id", id: "@id"}, {update: {method: "PUT"}})
]
@TaskCtrl = ["$scope", "Task", ($scope, Task) ->
$scope.tasks = Task.query({project_id: "@project_id", id: "@id"})
Sorum şu, nasıl ayarlanır son satırında, böylece görünümünde '@project_id' do my Örnekte kontrolörde değer erişilebilir mi? Ben ng-init kullanarak çalıştı:
benim TaskCtrl denetleyicisi Ancak bir kez<div ng-controller="TaskCtrl" ng-init="project_id = <%= @project.id %>">
'PROJECT_ID' boştur ve '$ scope.project_id' da çalışmıyor. Herhangi bir yardım takdir edilir.
Teşekkür deneyebilirsiniz. Soru: ProjectID Controller tarafından ng-init'e erişiliyorsa, neden project_id açıklığını Görev Denetleyicisine taşıyamıyorum? Angularjs için yeniyim, ama değerler Kontrolöre dahil edilmişse, kapsamdan erişilebilir olması gerektiği anlaşılıyor. – Drew
Elbette, bunu yapabilirsin, ancak controller_it üzerinde bir değeri olmadığı için, $ project_id'i izlemek zorundasın. Ama eğer ProjectCidl için başka bir kontrolörde kardeşe ihtiyaç duyarsanız, project_id'i göremezsiniz, sadece çocuklar olacaktır. Hizmetin geldiği yer. – Oliver
Tüm yardımlarınız için teşekkürler, ancak bu benim için pek işe yaramadı ... Değeri geçmek için gon gemini kullandım. AngularJS'de görünümden normal alan değerlerinin elde edilmesi biraz daha kolay gibi görünüyor. – Drew