Где должен быть файл finder.rb?
В конечном счете, это не имеет значения.Имеет значение только то, что этот код загружается.Это сочетание исправления базовых библиотек и добавления бизнес-логики выглядит как нечто, что ДОЛЖНО быть подробно задокументировано (в вики проекта или что-то в этом роде).И если это задокументировано, то это не имеет значения.Код - это то, где в документации сказано, что это так.
Это не так, вот предложение по дизайну:
, когда пользователь ищет семейство Family.find(params[family_id],session[:company_id])
, эта находка будет сравниватьсяКомпания из семейного результата family.company с параметром
Почему бы не сделать что-то подобное:
family = current_company.families.find(params[:family_id])
, где current_company можно определить как @current_company ||= Company.find(session[:company_id])
Здесь, если у этой компании нет этого семейства, вы получите исключение.
Тот же эффект *, только без каких-либо исправлений.Гораздо более будущее.Вы даже можете добавить пару правил rubocop, чтобы никогда не писать голые Family.find
.
* не похоже, что вы добавляете этот патч, а остальная часть вашего кода волшебным образом приобретает сверхспособности.Нет. Вам все еще нужно изменить всех искателей, чтобы передать идентификатор этой компании.