Какую функцию я могу использовать, чтобы проверить, уже ли уже установлена ассоциация? Было бы неплохо проверить, загружена ли ассоциация, а не пытаться ее использовать и получить ошибку Ecto.Association.NotLoaded
.Как проверить, не загружена ли ассоциация?
6
A
ответ
3
Не уверен, что если есть встроенная функция для проверки, но вы можете написать свой собственный, как это:
defmodule PreloadCheck do
def is_preloaded(model, assoc) do
case Map.get(model, assoc) do
%Ecto.Association.NotLoaded{} -> false
_ -> true
end
end
end
Здесь assoc
бы атом, представляющий ваше имя ассоциации.
Использование pattern matching в case
позволяет Вам проверить, была ли загружена ваша ассоциация, или если она все еще возвращает структуру Ecto.Association.NotLoaded
.
5
Вы можете использовать assoc_loaded?
0
Вы можете использовать Ecto.assoc_loaded/1, как Эдуардо упоминалось в предыдущих комментариях?. assoc_loaded?/1 documentation
Смежные вопросы
- 1. Как определить, загружена ли Rails-ассоциация?
- 2. Как проверить, загружена ли Prettify
- 3. Как проверить, не загружена ли картинка?
- 4. Как проверить, полностью ли загружена форма?
- 5. Как проверить, полностью ли загружена Google Maps?
- 6. Как проверить, действительно ли загружена веб-страница?
- 7. Как проверить, загружена ли тема JQuery UI?
- 8. Как проверить, загружена ли переменная в JavaScript?
- 9. как проверить, существует ли ассоциация рельсов
- 10. Maven: Как проверить, не загружена ли баночка в центральном репо
- 11. C# как проверить, не загружена ли база данных?
- 12. Android - как проверить активность загружена?
- 13. Как проверить, что ассоциация действительна
- 14. @OneToOne ассоциация не может быть с готовностью загружена в запросе
- 15. проверить, загружена ли страница памяти в память
- 16. Как проверить, полностью ли загружена новая страница или нет, Watir
- 17. Как проверить, полностью ли загружена веб-страница с помощью javascript
- 18. Как проверить, была ли загружена конфигурация по умолчанию в CI3?
- 19. Как я могу проверить, загружена ли карта карт Google Maps?
- 20. Как проверить, загружена ли библиотека JS, используя строку
- 21. Как проверить, полностью ли загружена UIImage из активов
- 22. Как проверить, если ассоциация изменилась с нулевой
- 23. Как проверить, была ли коллекция загружена с помощью Entity Framework?
- 24. Как проверить, была ли загружена действительная страница в WKWebView?
- 25. Как проверить, загружена ли оснастка PowerShell до вызова Add-PSSnapin
- 26. Как проверить, загружена ли какая-либо панель extjs
- 27. Как проверить, была ли загружена страница в RSelenium
- 28. Как проверить, полностью ли загружена swf Xcelsius, встроенная в html?
- 29. Как проверить, какая версия Ember.js загружена?
- 30. Используется ли метод как ассоциация?
Спасибо. Я в конечном итоге пишу функцию, которая просто проверяет, является ли ассоциация списком и считает, что она загружена. Я все еще надеюсь, что есть что-то встроенная функция, которая делает это. –
Да, вы можете использовать 'Ecto.assoc_loaded?';; Он вернет bool для загрузки или нет. Я просто не уверен, сколько времени функция доступна, по крайней мере для версии 2.1.4. –
Где эта функция будет написана и как повлияет на модель? если вы можете объяснить, что будет приветствовать –