Я называю рельсы find
метод много во время моего просмотра. Является ли это общепринятой хорошей практикой? Я склоняюсь к нет, но почему? find
каждый раз вызывает базу данных? Он кэширует результат в любом месте? Я просмотрел документы ruby / rails на find
, но они не указали, действительно ли он вызывал вызов в базу данных каждый раз или нет.осветляющие направляющие найти метод
ответ
Нет, это не очень хорошая идея, чтобы позвонить find
с точки зрения. Задача контроллера - загрузить и собрать все данные, которые будут нужны для представления, и передать его в представление для представления пользователю.
Повторные вызовы find
для одного и того же объекта должны быть кэшированы Rails, поэтому он не будет попадать в базу данных каждый раз, если аргументы или другие параметры не были разными.
Реально простым способом проверить это будет запуск терминала и запуск rails c
. В консоли запустите код, который возвращает tplangroup
, и поиграйте с ним в консоли. Вы должны иметь возможность видеть вызов базы данных в консоли разработчика.
Основываясь на моем опыте (не на компьютере с рельсами прямо сейчас), я думаю, что он попал бы в базу данных в каждом из этих вызовов, если только вы не создали tplangroup
, используя .includes(:tplan)
для активной загрузки.
Надеется, что это помогает
- 1. Направляющие рельсов Devise 4
- 2. Реагирование Направляющие рисования карты
- 3. Динамические направляющие маршрутизации
- 4. Направляющие приложения канала smppsim
- 5. Неизвестные атрибутные направляющие 4
- 6. JavaScript Направляющие Застрял
- 7. Направляющие страницы наследуют свойство
- 8. Направляющие на главные кнопки
- 9. Python documentator, IDE направляющие
- 10. Хорошие многопоточные направляющие?
- 11. Направляющие направляются без maven?
- 12. Направляющие поверхности с GlassFish 4.0
- 13. Рубин именованные аргументы в стиле направляющие линии
- 14. Направляющие наведения на поверхность IllegalStateException
- 15. Направляющие поверхности ajaxErrorHandler не работает
- 16. ng-animate и пользовательские направляющие?
- 17. Направляющие нажимаются на конкретного пользователя
- 18. направляющие маршруты - только основные улицы
- 19. Общие направляющие рельсы внешние API
- 20. эластичные направляющие поиска Проверить установку
- 21. Количество элементов в DataTable - Направляющие?
- 22. Направляющие для пружины MVC 2,5 или 3
- 23. Как отключить направляющие отступа в VS2015?
- 24. Как нарисовать направляющие линии/w bokeh?
- 25. Draggable элемент умные направляющие не работает правильно
- 26. Как правильно настроить направляющие 3 вложенных атрибута
- 27. ПРЕДУПРЕЖДЕНИЕ: Огуречные направляющие, требуемые за пределами env.rb
- 28. Направляющие поверхности - не достигают конечной точки
- 29. Примеры ATK, направляющие на другой DSN
- 30. Как создать огуречные направляющие для другой папки
Это не очень хороший вопрос. Положите простой пример, чтобы сообщить нам, что заставило вас смутить ... не весь код ... –
Я взял код, я ни о чем не путаюсь, m задает конкретные вопросы о методе .find(). 1. Можете ли вы включить его в представление (это хорошая практика). 2. Делает ли он вызов в базу данных каждый раз? – jamesdlivesinatree
код был только там, чтобы показать, где я его использовал (вид), и сколько раз мне приходилось его использовать (много), который поддерживает вопросы, которые я задаю, вместо того, чтобы задавать вопрос о коде @ArupRakshit – jamesdlivesinatree