2015-07-10 3 views
1

Я новичок в RoR. Некоторая работа была передана мне предыдущим разработчиком RoR, которого сейчас нет. У меня есть несколько пользователей в db, как я могу получить всю информацию, связанную с каждым из пользователей, а также для одного пользователя? Кроме того, приложение предлагает функцию добавления друга, поэтому многие пользователи добавили бы много друзей. Как я могу найти друзей и как удалить одного друга? Я понимаю, что эти вопросы могут быть очень простыми, но я новичок в 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 Guides] (http://guides.rubyonrails.org/index.html) на Ruby On Rails веб-сайта отлично , Начните с чтения [Основы активной записи] (http://guides.rubyonrails.org/active_record_basics.html) и [Интерфейса запросов активной записи] (http://guides.rubyonrails.org/active_record_querying.html). Они лаконичны и легко читаются, и вы сможете быстро добраться до скорости. –

+0

Вам нужно прочитать о activerecords в рельсах. ORM используется рельсами. Документация хорошая. Я не столкнулся с большими проблемами, когда начал работать в рубине. Погугли это. Удачи. – Saurabh

+0

@ Джордан: Спасибо, что вам очень нужна помощь. – user1903022

ответ

0

Мой лучший совет для вас - прочитать инструкции Active Record Basics и Active 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

Из моего опыта, видя прямые примеры на вопросы, помогает мне понять, поэтому я отвечу на несколько ваших вопросов несколькими примерами.

Предположим, что ваш класс модели «Пользователь», а таблица называется «пользователи». Затем, чтобы получить массив всех пользователей, вы можете сделать это:

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. 
Смежные вопросы