从AngularJS访问Devise用户
Access Devise user from AngularJS?
我有一个Rails应用程序,它在前端使用AngularJS。我还有一个格式为"/api/:user_id/subsitions/:id"的路由,用于访问用户提交的特定内容。在前端,我想显示当前登录的Devise用户的每一篇帖子,并且只显示他们的帖子。我创建了Angular工厂:
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 current_user的user_id是什么。我有一个submissions.rb控制器,它可以成功地从我的路由中提取特定用户的所有帖子,"/api/:user_id/contensions/",但正如我所说,我不知道如何告诉Angular current_user.id是什么,因为current_user只能从Rails访问。
我已经试着解决这个问题一周了,但在谷歌搜索中没有找到太多帮助。如有任何建议,不胜感激。
我自己的应用程序有另一个服务器端点调用defaults
&在角度CCD_ 3块中初始化的角度服务CCD_。此块将currentUser
对象(与其他元数据一起)拉回来以初始化$rootScope
变量。从那里,我可以用我的角度控制器中的userSubmission.query({user_id: $rootScope.currentUser.id});
等调用其他角度服务。
另一种选择是在javascript文件中生成元数据内容,其中包含所有元数据(即metadata.js.erb
,其中您让rails填充整个angular应用程序可用的变量(使用<%= =>
)。
希望能有所帮助。
- 从远程脚本获取用户IP
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- d3基于用户选择动态更新节点
- 同步调用,直到用户通过angular验证为访问者
- 使用javascript搜索具有用户输入的数组
- 如何使用jquery确定用户是否年满18岁
- Meteor-添加用户自定义字段的方法不起作用
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 跟踪用户点击Adsense广告的IP地址
- 使用javascript反复检查用户在facebook上的登录状态
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何检查用户在html5视频播放器中观看了完整的视频
- 一个密码测试程序,如果存在空格,它会提醒用户
- 如何使用JavaScript中的用户输入创建序列/序列
- 当用户按下回车键时,自动在text区域/text中插入消息
- 显示某个用户ID的某个标签的30张Instagram图片
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- javascript跨浏览器确定用户是否滚动到页面底部
- JSON获取用户id's在嵌套数组中
- 从AngularJS访问Devise用户