Javascript 从AngularJS访问设计用户?
我有一个Rails应用程序,它在前端使用AngularJS。我还有一个“/api/:user_id/submissions/:id”格式的路由,用于访问用户提交的特定内容。在前端,我想显示Desive用户当前登录的每个帖子,并且只显示他们的帖子。我创建了两个角度工厂:Javascript 从AngularJS访问设计用户?,javascript,ruby-on-rails,ruby,angularjs,devise,Javascript,Ruby On Rails,Ruby,Angularjs,Devise,我有一个Rails应用程序,它在前端使用AngularJS。我还有一个“/api/:user_id/submissions/:id”格式的路由,用于访问用户提交的特定内容。在前端,我想显示Desive用户当前登录的每个帖子,并且只显示他们的帖子。我创建了两个角度工厂: var brainDB = angular.module('brainDB',['ngResource']).factory('userSubmission', function($resource){ var service =
var brainDB = angular.module('brainDB',['ngResource']).factory('userSubmission', function($resource){
var service = $resource('/api/:user_id/submissions/:id', {user_id: '@user'}, {id: '@id'} );
return service;
并将其范围限定到我的控制器:
brainDB.controller('SubmissionsCtrl',['$scope', 'Submission', 'userSubmission',
function($scope, Submission, userSubmission){
$scope.submissions = Submission.query();
$scope.userSubmissions = userSubmission.query();
}]);
唯一的问题是顶层的工厂不工作。我可以输出数据库中的每个提交,但我不知道如何告诉Angular当前用户的用户id是什么。我有一个submissions.rb控制器,它可以成功地从我的路径中提取特定用户的所有帖子,“/api/:user_id/submissions/”,但正如我所说的,我不知道如何告诉Angular当前的_user.id是什么,因为当前的_用户只能从Rails访问
我已经尝试解决这个问题一个星期了,但通过谷歌搜索并没有找到太多帮助。非常感谢您的建议。我自己的应用程序还有另一个服务器端点调用
默认值
&angular service元数据
,它在angular.run()块中初始化。此块将currentUser
对象拉回来(与其他元数据一起)以初始化$rootScope
变量。从那里,我可以调用其他angular服务:userSubmission.query({user\u id:$rootScope.currentUser.id})我的角度控制器中的代码>等
另一种选择是在javascript文件中生成元数据内容,其中包含所有元数据(即metadata.js.erb
),您可以让rails填充整个angular应用程序可用的变量(使用
)
希望这能有所帮助。谢谢你提供的信息!我会调查的。