Я намерен хранить в базе данных минимальный объем информации, относящейся к книге (название, isbn). Однако на дисплее я хотел бы отображать дополнительные атрибуты (страницы, автор, обложка), которые не хранятся в базе данных. Я планирую получить эту информацию от Amazon Web Services (AWS), используя Ruby/AWS. Я очень новичок в Ruby on Rails и не знаю точно, как это будет/должно быть выполнено.Ruby on Rails MVC Вопрос
Некоторые варианты, которые приходят на ум, включают в себя изменение контроллера книг или создание полностью отдельной модели, основанной на сущности Amazon, которая основана на поиске книг, перечисленных только в моей базе данных.
Это имеет смысл. Должен ли я создавать определения или атрибуты для поиска из модели? – ahsteele
Создайте методы с именем (страницы, автор, cover_image и т. Д.). В этих методах извлекайте информацию об амазонке и возвращайте заданное значение. Вероятно, вы не захотите сделать вызов AWS для каждого атрибута, чтобы кэшировать результаты AWS, перетащив его в переменную экземпляра активной записи, такую как (@my_aws_result). Это не будет сохраняться, но, по крайней мере, вы ограничите запросы AWS 1 на запрос конечного пользователя. Очевидно, что вы можете использовать более продвинутое кеширование без каких-либо проблем с нарушением работы вашего контроллера и просмотров. Модель будет инкапсулировать эти детали. – jrhicks