【发布时间】:2013-02-14 11:40:49
【问题描述】:
我尝试为网上商店制作一个基于 Ajax 的解决方案。 所以我有购物车,当用户添加一些东西时,我不想重新加载所有页面,而只需要“购物车”模板。 (订单项属于购物车) 在 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))
【问题讨论】:
-
是否可以看到您正在进行的 ajax 调用以及成功功能?
-
我很菜鸟,所以不确定你想看的我没看错
-
product), :remote => true %>
-
ajax 调用你制作的动态更新购物车
-
来自关于 Rails 的书:我们想改变它以发送 Ajax 请求。为此,我们只需在调用中添加一个 :remote => true 参数。
标签: javascript ruby-on-rails ajax