Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Angular和Rails中访问数据对象_Ruby On Rails_Ruby On Rails 3_Angularjs - Fatal编程技术网

Ruby on rails 在Angular和Rails中访问数据对象

Ruby on rails 在Angular和Rails中访问数据对象,ruby-on-rails,ruby-on-rails-3,angularjs,Ruby On Rails,Ruby On Rails 3,Angularjs,我刚刚开始学习Angular,看过Ryan Bates的作品,也读过BerylliumWork的作品,但我仍在努力弄清楚如何从Rails服务器访问数据 我这里有一个非常简单的用例。我想访问视图中用户的名字 以下是查看代码: <div ng-controller="UserCtrl"> {{user.first_name}} </div> 这是我的控制器: def show respond_with User.find(params[:id]) end 如您

我刚刚开始学习Angular,看过Ryan Bates的作品,也读过BerylliumWork的作品,但我仍在努力弄清楚如何从Rails服务器访问数据

我这里有一个非常简单的用例。我想访问视图中用户的名字

以下是查看代码:

 <div ng-controller="UserCtrl">
  {{user.first_name}}
 </div>
这是我的控制器:

def show
  respond_with User.find(params[:id])
end
如您所见,我在$scope.user中有一个硬编码id,它显示在页面上。类似地,如果我使用类似于ng app=“user in users”…{user.first_name}的东西,我会得到完整的用户列表

但是,如何获得一个用户实例?默认情况下,使用实例变量而不是硬编码的“1”:

  • $resource.query()用于获取对象列表
  • $resource.get({params})用于获取单个对象
在您的情况下,默认情况下需要
$scope.user=user.get({id:1})

  • $resource.query()用于获取对象列表
  • $resource.get({params})用于获取单个对象

在您的例子中,您需要
$scope.user=user.get({id:1})

如何将“1”作为变量?上面的代码已经拉入用户1。但是如果我想要用户n怎么办?
user.query()
获取所有用户的列表(假设您没有提供任何过滤器,例如
user.query({active:true})
)。此列表是一个对象数组。每个对象都是一个特定的对象,由服务器响应的外观定义。您可以决定如何查看此列表以获取(并可能编辑)每个用户。您还可以使用单独的路由来获取/显示/编辑单个用户。您可以通过$routeProvider中定义的自定义路由(例如,
when('/users/:id',{controller:'UserCtrl',templateUrl:'path_to_tpl'})
)来完成。这就是我需要做的-设置$routeProvider。非常感谢,斯图!胜利确实是你的。不过,我该如何使“1”成为一个变量呢?上面的代码已经拉入用户1。但是如果我想要用户n怎么办?
user.query()
获取所有用户的列表(假设您没有提供任何过滤器,例如
user.query({active:true})
)。此列表是一个对象数组。每个对象都是一个特定的对象,由服务器响应的外观定义。您可以决定如何查看此列表以获取(并可能编辑)每个用户。您还可以使用单独的路由来获取/显示/编辑单个用户。您可以通过$routeProvider中定义的自定义路由(例如,
when('/users/:id',{controller:'UserCtrl',templateUrl:'path_to_tpl'})
)来完成。这就是我需要做的-设置$routeProvider。非常感谢,斯图!胜利确实是你的。
def show
  respond_with User.find(params[:id])
end