← Каталог
Работа с базами данных из Ruby — Ядро: `ActiveRecord::Base`
Фрагмент из «Работа с базами данных из Ruby»: Ядро: `ActiveRecord::Base`.
Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `**Особенности**:` и задаёт контекст выполнения.
- Ключевые элементы блока: `find`, они определяют основную логику примера.
- По шагам код выполняется так: `**Особенности**:` -> `- Запросы строятся программно, через цепочки методов;` -> `- Результат — хэши или простые структуры (`Sequel::Model` опционален` -> `- Поддержка сложных конструкций: CTE, UNION, подзапросы;`.
- Для безопасности критичны валидация входных данных и запрет небезопасной интерполяции пользовательских значений.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
class User < ActiveRecord::Base
end
user = User.find(42)
user.name = 'Тимур'
user.save
Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `**Особенности**:` и задаёт контекст выполнения.
- Ключевые элементы блока: `find`, они определяют основную логику примера.
- По шагам код выполняется так: `**Особенности**:` -> `- Запросы строятся программно, через цепочки методов;` -> `- Результат — хэши или простые структуры (`Sequel::Model` опционален` -> `- Поддержка сложных конструкций: CTE, UNION, подзапросы;`.
- Для безопасности критичны валидация входных данных и запрет небезопасной интерполяции пользовательских значений.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
class User < ActiveRecord::Base
end
user = User.find(42)
user.name = 'Тимур'
user.save