У меня есть список событий, которые я получаю. Я пытаюсь включить каждого пользователя, связанного с этим событием, и каждый профиль, связанный с каждым пользователем. Пользователи включены, но не их профили.
Если вы хотите включить ассоциацию (назовем ее C) из уже включенной ассоциации (назовем ее B), вы должны использовать приведенный выше синтаксис. Однако, если вы хотите включить также D, который также является ассоциацией с B, тогда вы должны использовать массив, как показано в примере в Руководстве по Rails .
A.includes(bees:[:cees,:dees])
Вы можете продолжать вкладывать такие включения (если вам это действительно нужно). Скажите, что A также связан с Z, и что C связан с E и F.
Как бы вы добавили условия для включенных модулей ..? :)
Arup Rakshit
1
как добавить туда заказ?
Флориан Видтманн
6
Это один из тех волшебных ответов, которые я нашел раз в несколько лет, и каждый раз спасает мою задницу. Вот как должны выглядеть документы
Эндрю
2
Чтобы сделать это руководство самым утомительным: A.includes( { bees: { cees: {:dees, :ees} } })- для русской кукольной конструкции (например, А включает в себя б, что включает в себя с ... и т. Д.)
A.includes( { bees: { cees: {:dees, :ees} } })
- для русской кукольной конструкции (например, А включает в себя б, что включает в себя с ... и т. Д.)A.includes(bees: :cees).where(bees: { cees: { flagged: false }}).order("a.bees DESC").order("a.cees ASC")
Если кто-то делает
respond_to
блок для создания вложенного json, вы можете сделать что-то вроде:источник
as_json
- в противном случае это отображает строку JSON.Пожалуйста, обратитесь к решению Джо Кеннеди.
Вот более читаемый пример (для будущего меня).
источник