Javascript Rails模板无法正常工作

时间:2013-02-14 11:40:50

标签: javascript ruby-on-rails ajax

我尝试为网上商店制作基于Ajax的解决方案。 所以我有购物车,当用户添加东西时,我希望不再重新加载所有页面,而只是“购物车”模板。 (订单项属于购物车) 在行项目中创建方法:

#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))

2 个答案:

答案 0 :(得分:0)

你仍然需要在javascript或jquery中编写实际的ajax请求来调用控制器上的方法来更新显示。

ruby​​是一种服务器端语言,因此您需要对服务器进行ajax调用,以获取您希望用于更新页面的数据。

检查这个post他们似乎正在做一些类似于你可能有用的东西。如果您不确定ajax是什么,请查看此link

希望这有所帮助。

答案 1 :(得分:0)

所以.js / .rjs模板在rails> 3.0中不起作用,应该是.js.erb