如何将我的 current_user.id 传递给 AngularJs 控制器
How can I pass my current_user.id to AngularJs Controller
我正在 Rails 从 Ruby 获取我的 current_user.id 并试图通过 HTML 隐藏输入将它传递到我的 angular 控制器>
<input type="hidden" ng-model="user_id" value="<%= current_user.id%>"></input>
正在调试,我的范围未定义为“$scope.user_id”,我需要这个值才能将它发送到我的服务器。
我是不是做错了什么?有没有更好的办法?
我推荐你使用Devise Token Auth with ng-token-auth。这使您可以将所有设计功能整合到 Angular 中。使用 ng-token-auth 你可以做你想做的,甚至更多
尝试
<input type="hidden"
ng-model="user_id"
ng-init="user_id = <%= current_user.id%>"></input>
如果您不使用 ng-token-auth,您可以使用 ruby 助手创建 angular 服务。
# 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
我正在 Rails 从 Ruby 获取我的 current_user.id 并试图通过 HTML 隐藏输入将它传递到我的 angular 控制器>
<input type="hidden" ng-model="user_id" value="<%= current_user.id%>"></input>
正在调试,我的范围未定义为“$scope.user_id”,我需要这个值才能将它发送到我的服务器。
我是不是做错了什么?有没有更好的办法?
我推荐你使用Devise Token Auth with ng-token-auth。这使您可以将所有设计功能整合到 Angular 中。使用 ng-token-auth 你可以做你想做的,甚至更多
尝试
<input type="hidden"
ng-model="user_id"
ng-init="user_id = <%= current_user.id%>"></input>
如果您不使用 ng-token-auth,您可以使用 ruby 助手创建 angular 服务。
# 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