我正在关注使用Rails第4版的Pragmatic Agile Web Development,但是我正在使用Rails 3.2.2而不是3.0.5,如本书所推荐:
~$ ruby -v
ruby 1.9.3p125 (2012-02-16) [i686-linux]
~$ rails -v
Rails 3.2.2
Run Code Online (Sandbox Code Playgroud)
我在包括AJAX重绘购物车而不重新加载页面时陷入困境.这是line_items_controller.rb中的create动作:
def create
@cart = current_cart
product = Product.find(params[:product_id])
@line_item = @cart.add_product(product.id)
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
end
Run Code Online (Sandbox Code Playgroud)
这是我的RJS文件create.js.rjs(在app/views/line_items下):
page.alert('NO PROBLEM HERE')
page.replace_html('cart', render(@cart))
Run Code Online (Sandbox Code Playgroud)
但是,当我单击启动此操作的按钮时:
<%= button_to 'Add to …
Run Code Online (Sandbox Code Playgroud)