Ruby on rails 如何使用rails服务器在Angular中获取索引数据

Ruby on rails 如何使用rails服务器在Angular中获取索引数据,ruby-on-rails,angularjs,typeahead,Ruby On Rails,Angularjs,Typeahead,我从Angularjs+rails后端开始,尝试从服务器获取用户数据——相当于rails中的controller/indexaction 我遵循了几个教程,发现这段代码是最清晰的 问题 1.如何正确地将角度模块链接到视图中? 2.如何在本文中使用typeahead和示例数据获取数据 这是 代码如下: 视图 <div ng-app='users'> <div class='container-fluid' ng-controller="UsersIndexCtrl">

我从Angularjs+rails后端开始,尝试从服务器获取用户数据——相当于rails中的
controller/index
action

我遵循了几个教程,发现这段代码是最清晰的

问题 1.如何正确地将角度模块链接到视图中? 2.如何在本文中使用typeahead和示例数据获取数据

这是

代码如下:

视图

<div ng-app='users'>
  <div class='container-fluid' ng-controller="UsersIndexCtrl">
    <pre>Model: {{result | json}}</pre>
    <input type="text" ng-model="result" typeahead="suggestion for suggestion in users($viewValue)">
  </div>
</div>

您必须注入
用户
而不是
用户
,它区分大小写


旁注:

无需创建两个模型,请替换:

app.factory('User', function($resource) {
  return $resource("users/:id", { id: '@id' }, {
    index:   { method: 'GET', isArray: true, responseType: 'json' },
    show:    { method: 'GET', responseType: 'json' },
    update:  { method: 'PUT', responseType: 'json' }
  });
})
与:

在控制器中,执行以下操作:


最后一件事,考虑使用:

在您的Spulk版本的代码中,您没有angal.js文件加载到您的模板中。谢谢您的评论,它现在更新了…感谢您的评论-更新..现在我得到:

TypeError:无法读取未定义的属性“length”
,因为服务异步返回结果,您无法找到它的属性,如length等。感谢您的阅读,无论如何我还有一些问题,但是你的建议给了我很多帮助,也给了我方向…因为提供的价值,我接受了答案。按照你的建议,我得到了另一个错误:)
未捕获的错误:无模块:用户
…任何澄清这一点的更改请…?我需要更多的上下文,请你将此作为另一个问题详细发布?
Error: Unknown provider: usersProvider <- users
[{"full_name":"Lia Cartwright","id":1,"image_url":"no-icon.jpg"},{"full_name":"Hilton Turner","id":2,"image_url":"no-icon.jpg"},{"full_name":"Aubrey Barrows","id":3,"image_url":"no-icon.jpg"},{"full_name":"Donnie Kris","id":4,"image_url":"no-icon.jpg"},{"full_name":"Eryn Rath","id":5,"image_url":"no-icon.jpg"},{"full_name":"Caden Fay","id":6,"image_url":"no-icon.jpg"},{"full_name":"Arlie Tromp","id":7,"image_url":"no-icon.jpg"},{"full_name":"Rico Klein","id":8,"image_url":"no-icon.jpg"},{"full_name":"Gudrun Dare","id":9,"image_url":"no-icon.jpg"},{"full_name":"Nathan Langworth","id":10,"image_url":"no-icon.jpg"},{"full_name":"Deanna Stroman","id":11,"image_url":"no-icon.jpg"},{"full_name":"Shania Stroman","id":12,"image_url":"no-icon.jpg"},{"full_name":"Lupe Harvey","id":13,"image_url":"no-icon.jpg"},{"full_name":"Constance Armstrong","id":14,"image_url":"no-icon.jpg"},{"full_name":"Reagan Tremblay","id":15,"image_url":"no-icon.jpg"},{"full_name":"Murray Sipes","id":16,"image_url":"no-icon.jpg"},{"full_name":"Dandre Klocko","id":17,"image_url":"no-icon.jpg"},{"full_name":"Haylee Monahan","id":18,"image_url":"no-icon.jpg"},{"full_name":"Florence Harber","id":19,"image_url":"no-icon.jpg"},{"full_name":"Norberto Hoppe","id":20,"image_url":"no-icon.jpg"}] 
app.factory('Users', function($resource) {
  return $resource('/users.json', {}, {
    index: { method: 'GET', isArray: true}
  });
});

app.factory('User', function($resource) {
  return $resource('/users/:user_id.json', {}, {
    show: { method: 'GET' },
    update: { method: 'PUT' }
  });
});
app.factory('User', function($resource) {
  return $resource("users/:id", { id: '@id' }, {
    index:   { method: 'GET', isArray: true, responseType: 'json' },
    show:    { method: 'GET', responseType: 'json' },
    update:  { method: 'PUT', responseType: 'json' }
  });
})
var UsersIndexCtrl = function($scope, User) {
  $scope.users = User.index();
};