У меня есть проблема, и я пытаюсь найти лучший / самый простой способ решить эту проблему ...
В моем приложении несколько пользователей. приложение позволяет пользователям добавлять книги в список очередей чтения (например, список книг, на которые пользователь может следить).
Первоначально я установил список очереди чтения как глобальный массив. Однако это означало, что несколько пользователей добавляли книги в один глобальный массив. Если бы user1 добавил 3 книги, user2 также увидел бы эти 3 книги. Или, если user1 очистил список очереди чтения, книги user2 также были очищены.
Возможные решения:
Может быть, я могу создать ключ в массиве, чтобы связать его часть с пользователем, но я представляю, что массив станет довольно большим ...
Может быть, создать таблицу базы данных "queue-list" ... но, похоже, многое нужно сделать для чего-то подобного ...
Возможно, создать глобальный массив, уникальный для каждого пользователя. (Мне нравится этот, но не уверен, как это сделать)
Надеюсь, это понятно, я довольно новичок в рельсах, поэтому любая помощь приветствуется!
моя попытка решения 3:
books_controller.rb
def add_book_to_queue
user = User.find(params[:id])
user.read_queuelist.push(params[:book_info])
@readlist = user.read_queuelist
end
user.rb
def read_queuelist
$read_queuelist ||= Array.new
end
вид
<%= @readlist %>