Я работаю над приложением, которое позволяет пользователю искать определенную книгу на Amazon, используя заданный критерий поиска (например, название, ключевое слово, автор). В настоящее время я пытаюсь сохранить эти результаты поиска в базе данных MySQL, но я борюсь с концепцией отношений.
Кажется естественным, что я бы структурировал модели примерно так:
class Search < ActiveRecord::Base
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :search
end
Если пользователь выполняет второй поиск, мне нужен способ обновить результаты поиска новыми книгами. Мое первое желание - сделать что-то вроде следующего:
Search.update(1,:books)
Способ обновления работает следующим образом? Я на правильном пути?
Кроме того, я не уверен, является ли обновление результатов поиска в базе данных правильным выбором. Могут ли быть потенциально негативные последствия, если два пользователя будут выполнять поиск одновременно? Моя единственная причина сохранения этих результатов поиска в базе данных состоит в том, что мне нужно отобразить информацию для книги, которую они выбрали позже в сеансе пользователя. Я предположил бы, что, если бы я только обновил результаты поиска, и было много пользователей, использующих инструмент, который перевернул бы всю цель использования базы данных, поскольку результаты поиска второго пользователя переписали бы результаты поиска первого пользователя. Это правда?
Могу ли я, возможно, сохранить информацию в файле cookie пользователя?