2015-07-10 58 views
1

我是RoR的初学者。之前的RoR开发人员已将一些工作移交给我,但现在尚未提供。我在数据库中有几个用户,我如何获得与每个用户以及单个用户相关的所有信息?此外,该应用程序提供了添加朋友的功能,因此,许多用户也会添加许多朋友。我如何搜索他们的朋友,以及如何删除一位朋友?我明白这些问题可能是非常基本的,但是,我是RoR的初学者,从Java配置文件切换。在RoR数据库中搜索并删除数据

一些细节:

$ ruby -v 
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux] 

$ rails -v 
Rails 4.1.4 

任何帮助将高度赞赏。

+0

的[Rails的指南](http://guides.rubyonrails.org/index.html)在Ruby on Rails的网站是优秀的。首先阅读[Active Record Basics](http://guides.rubyonrails.org/active_record_basics.html)和[Active Record Query Interface](http://guides.rubyonrails.org/active_record_querying.html)。它们简洁易读,能够让您立即加快步伐。 –

+0

您需要阅读有关rails中的activerecords。它是轨道使用的ORM。文档很好。当我开始使用红宝石时,我没有遇到太多问题。去谷歌上查询。祝你好运。 – Saurabh

+0

@Jordan:非常感谢你对乔丹的帮助。 – user1903022

回答

0

我最好的建议是阅读Active Record BasicsActive Record Query Interface Ruby on Rails指南。

下面是你需要做的一个总结。请注意,假设您的用户存储在User模型中。

  • 查找ID的用户:User.find(id)
  • 查找电子邮件地址的用户:User.find_by(email: email)
  • 为所有用户
  • 构建关系:为用户User.all
  • 构建关系具有一定的电子邮件:User.where(email: email)

请注意,除非您要对数据进行操作(例如User.where(email: email).each { |u| u.email }),否则关系实际上不会加载任何数据。

0

从我的经验看,直接看问题的例子有助于我的理解,所以我会用一些例子回答你的几个问题。

假设您的Model类是“User”,并且该表被称为“users”。然后把所有用户的数组,你可以这样做:

allUsers = User.all 
allUsers.each do |user| 
    puts user.name 
    # do whatever else you want with the user instance 
end 

要获得一个用户,你可以这样做:

user = User.where("id" => 1)[0] 

注:为[0],因为原因User.where(...)返回一个数组。

如果你有一个特定的用户多的条件下,你可以这样做:

user = User.where("id" => 1, "email" => "[email protected]")[0] 

希望这是一个良好的开端。但是,你最需要的查询可以在这里找到:
Active Record Query Interface

0
You can first exercise this with the rails console. 
If you can get the results of all the users information by typing 
1.User.all 
If you retrieving a specific user; you give a command like: 
2.User.first or User.find(n) where n => 1,2,3,..,n. 
If you destroying a specific user;you can give command like: 
3.User.first.destroy or User.find(n).destroy where n=>1,2,3,...,n 
If you can search for the user's friend, you give a command as 
4.User.find_by(name:'XYZABC') where 'XYZABC'=> name of the user's friend.