Интерфейс запросов Active Record

Это руководство раскрывает различные способы получения данных из базы данных, используя Active Record. Изучив его, вы сможете:

Это руководство основано на Rails 3.0. Часть кода, показанного здесь, не будет работать на ранних версиях Rails. Руководство по интерфейсу запросов Active Record, основанное на Rails 2.3 Вы можете просмотреть в архиве

Если вы использовали чистый SQL для поиска записей в базе данных, то скорее всего обнаружите, что в Rails есть лучшие способы выполнения тех же операций. Active Record ограждает вас от необходимости использования SQL во многих случаях.

Примеры кода далее в этом руководстве будут относиться к некоторым из этих моделей:

Все модели используют id как первичный ключ, если не указано иное.

class Client < ActiveRecord::Base
  has_one :address
  has_many :orders
  has_and_belongs_to_many :roles
end
class Address < ActiveRecord::Base
  belongs_to :client
end
class Order < ActiveRecord::Base
  belongs_to :client, :counter_cache => true
end
class Role < ActiveRecord::Base
  has_and_belongs_to_many :clients
end

Active Record выполнит запросы в базу данных за вас, он совместим с большинством СУБД (MySQL, PostgreSQL и SQLite – это только некоторые из них). Независимо от того, какая используется СУБД, формат методов Active Record будет всегда одинаковый.