我是RoR的初学者。以前的RoR开发人员已将一些工作移交给我,他现在还没有。我在数据库中有几个用户,如何获得与每个用户以及单个用户相关的所有信息?此外,该应用程序提供添加朋友的功能,因此,许多用户也会添加许多朋友。如何搜索他们的朋友以及如何删除单个朋友?我知道这些问题可能非常基础,但是,我是RoR的初学者,从Java配置文件切换。
一些细节:
$ ruby -v
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
$ rails -v
Rails 4.1.4
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
我最好的建议是阅读Active Record Basics和Active Record Query Interface Ruby on Rails指南。
以下是您需要做的总结。请注意,这假设您的用户存储在whatever.sh
模型中。
User
User.find(id)
User.find_by(email: email)
User.all
请注意,在您对数据进行操作之前,关系实际上并不会加载任何数据(例如User.where(email: email)
)。
答案 1 :(得分:0)
根据我的经验,看到问题的直接示例有助于我理解,所以我会用一些例子回答你的几个问题。
让我们说你的模特课是"用户"并且该表被称为"用户"。然后要获得所有用户的数组,您可以这样做:
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" => "blah@blah.com")[0]
希望这是一个好的开始。但是您可以在这里找到您需要的大多数查询:
Active Record Query Interface
答案 2 :(得分: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.