Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `Важно: **ActiveRecord не кэширует сами данные** — каждый вызов `find` идёт в БД (если не и` и задаёт контекст выполнения.
- Ключевые элементы блока: `find`, они определяют основную логику примера.
- По шагам код выполняется так: `Важно: **ActiveRecord не кэширует сами данные** — каждый вызов `find` -> `---` -> `#### Соглашения по умолчанию` -> `ActiveRecord строго следует принципу *"convention over configuration`.
- Практически важно добавить обработку ошибок и явные проверки входа, чтобы исключить скрытые падения в рантайме.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
class User < ActiveRecord::Base
has_many :posts
has_one :profile
belongs_to :department
end
class Post < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :tags
end
Разбор:
- Фрагмент показывает конкретный сценарий, который стартует со строки `Важно: **ActiveRecord не кэширует сами данные** — каждый вызов `find` идёт в БД (если не и` и задаёт контекст выполнения.
- Ключевые элементы блока: `find`, они определяют основную логику примера.
- По шагам код выполняется так: `Важно: **ActiveRecord не кэширует сами данные** — каждый вызов `find` -> `---` -> `#### Соглашения по умолчанию` -> `ActiveRecord строго следует принципу *"convention over configuration`.
- Практически важно добавить обработку ошибок и явные проверки входа, чтобы исключить скрытые падения в рантайме.
- Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность.
class User < ActiveRecord::Base
has_many :posts
has_one :profile
belongs_to :department
end
class Post < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :tags
end