Problemas para manter um objeto em uma matriz, problemas com Ruby e problemas com Rails

Estou tentando adicionar um objeto à minha matriz, no entanto, a matriz parece sempre redefinir, em vez de adicionar. O que estou fazendo errado? Eu acho que tem a ver comif(defined? libraryshelf) then, O que estou tentando fazer aqui é descobrir se a matriz existe ou não (se esta é a primeira adição ou não) ..

def add_book
  @listofbooks ||= Array.new
  @listofbooks.push(params[:booktitle])
  @listofbooks
  respond_to do |format|
    format.html { redirect_to(:back) }
    format.js
  end
end

meu arquivo add_book.js.erb

alert('<%= @listofbooks %>');

@listofbooks mostra apenas o título do livro que adicionei pela última vez.

questionAnswers(3)

yourAnswerToTheQuestion