我从Ruby on Rails获取我的current_user.id并尝试通过HTML隐藏输入将其传递给我的角度控制器>
<input type="hidden" ng-model="user_id" value="<%= current_user.id%>"></input>
调试,我的范围未定义为“$ scope.user_id”,我需要此值将其发送到我的服务器。
我做错了吗?有没有更好的办法?
答案 0 :(得分:1)
我建议您将{em> Devise Token Auth 与ng-token-auth一起使用。这为您提供了Angular的所有设计功能,并具有出色的集成功能。使用ng-token-auth,你可以做你想做的事情和更多
答案 1 :(得分:1)
尝试
<input type="hidden"
ng-model="user_id"
ng-init="user_id = <%= current_user.id%>"></input>
答案 2 :(得分:0)
如果您不使用 ng-token-auth ,则可以使用ruby helper创建角度服务。
# layout/application.html.slim
= js_current_user
# application_helper.rb
def js_current_user
<<-EOS.html_safe
<script type="text/javascript">
angular.module('myApp').constant('CURRENT_USER', #{current_user.to_json})
</script>
EOS
end