Size: a a a

Чат руби-школы

2020 April 22

И

Иван in Чат руби-школы
Так у тебя у книги вроде есть ассоциация habtm genres. Просто вызови метод genres и получишь список жанров книги
источник

И

Иван in Чат руби-школы
Но что бы не было доп запросов делай либо preload либо includes жанров
источник

I

ILLIA in Чат руби-школы
Так не вызывается метод genres на @books , как я понял потому что это массив хешей,  а срабатывает только на book
источник

I

ILLIA in Чат руби-школы
Проблема именно вытянуть книги по отдельности что бы узнать жанр каждой книги и как то сохранить это не знаю куда
источник

И

Иван in Чат руби-школы
books =@author.books.preload(:genres) потом можешь итерировать по книгам и запрашивать жанры без запросов
источник

И

Иван in Чат руби-школы
В бд
источник

KR

Kill Real in Чат руби-школы
ILLIA
Так не вызывается метод genres на @books , как я понял потому что это массив хешей,  а срабатывает только на book
Если по описанной логике то у тебя будут контролеры и там все просто, напиши связь на модели автора has_many :genres, through: :books
источник

И

Иван in Чат руби-школы
По идее не должна сработать такая связь. В моделе книга нет прямой привязки к жанру
источник

KR

Kill Real in Чат руби-школы
Includes и preload помогут избежать тебе доп запросов во вьюхе, и получать данные ( оч важная тема советую на ней заострить внимание на будущее, как и всем остальным )
источник

KR

Kill Real in Чат руби-школы
Иван
По идее не должна сработать такая связь. В моделе книга нет прямой привязки к жанру
Щас протестим)))
источник

KR

Kill Real in Чат руби-школы
ILLIA попробуй связь эту написать в сообщение выше, и потом в консоли Author.first.genres
источник

I

ILLIA in Чат руби-школы
источник

I

ILLIA in Чат руби-школы
Работает)
источник

SB

Sergey Bobrov in Чат руби-школы
источник

KR

Kill Real in Чат руби-школы
Огонь 🔥😊
источник

I

ILLIA in Чат руби-школы
Та я читал) ну мне нужно задаватся вопросами и искать ответы в доке, так просто когда читаю, ниче не понятно
источник

I

ILLIA in Чат руби-школы
Kill Real
Огонь 🔥😊
Ну да ₽) только как теперь это использовать?))
источник

KR

Kill Real in Чат руби-школы
Потом обязательно прочти про includes preload и eager_load и use case зачем это применять это спрашивают при поступление на работу иногда
источник

I

ILLIA in Чат руби-школы
Хорошо) спасибо) это эти методы помогут обратится к отдельной книге что бы узнать её жанр?)
источник

KR

Kill Real in Чат руби-школы
ILLIA
Хорошо) спасибо) это эти методы помогут обратится к отдельной книге что бы узнать её жанр?)
Они помогут подгрузить данные для коллекции объектов без each на контроллере, и во вьюхе если будут циклы избежать запросов к базе, что оч хорошо - наверное так пока не понятно, поэтому нужен какой то пример прочитать для чего это))) а поможет тебе в твоём случае эта новая связь ..through.. @genres_of_author = author.genres, если например мы хотим знать в каких жанрах пишет автор по отметкам жанров в его книге и вывести например в его профиле - что даст автоматизм, когда он будет добавлять новую книгу с новыми жанрами - эти жанры автоматом подтянуться ... если бы я точно знал и понимал сценарии, где и как что будет выводиться я бы чуть-чуть 🤏 конкретней мог написать что нужно сделать для выполнения задачи
источник