我尝试为网上商店制作一个基于 Ajax 的解决方案。所以我有购物车,当用户添加一些东西时,我不想重新加载所有页面,而只想重新加载“购物车”模板。(Line Item 属于 Cart) Line Item 中的创建方法:
#usualstuff
respond_to do |format|
if @line_item.save
format.html { redirect_to(store_url) }
format.js
format.xml { render :xml => @line_item,
:status => :created, :location => @line_item }
else
...
将 create.js 文件放入 /views/line_items
所以这就是问题所在。
实际上它有效。但是当我单击“添加到购物车”按钮时,没有任何变化,直到我重新加载页面。
显示服务器日志:
Rendered line_items/create.js (0.0ms)
0.0ms - 肯定意味着有问题,但我无法弄清楚这一点。看起来rails只是打开它,什么也不做。
可能是什么原因?
create.js 中的代码
page.replace_html('cart' , render(@cart))