Я пытаюсь заменить HTML на текущей странице приложения rails.
У меня есть кнопка с :remote => true
и format.js
в блоке response_to моего метода line_items_controller # create:
respond_to do |format|
if @line_item.save
format.html { redirect_to store_url }
format.js
format.json { render json: @line_item, status: :created, location: @line_item }
else
format.html { render action: "new" }
format.json { render json: @line_item.errors, status: :unprocessable_entity }
end
end
Я создал файл app/views/line_items/create.js.erb
со следующей строкой it it:
<%= page.replace_html('cart', render(@cart)) %>
Однако, когда я нажимаю на кнопку и вижу, что возвращается с сервера в цветной версии Firebug, я получаю это:
NameError in Line_items#create
Showing /home/hamstar/Development/railsbook/depot/app/views/line_items/create.js.erb where line #1 raised:
undefined local variable or method `page' for #<#<Class:0x007f08583aea50>:0x007f085839acd0>
Extracted source (around line #1):
1: <%= page.replace_html('cart', render(@cart)) %>
Итак, этот объект страницы является правильным для JavaScriptGenerator? Как я могу получить доступ к этому объекту в файле create.js.erb
? Нужно ли инициализировать его методом #create
?
Кажется, что каждый ресурс, на который я смотрел, будет работать. Есть идеи?