2013-02-14 35 views
0

我儘量讓爲網絡商店基於Ajax的解決方案。 所以我有購物車,當用戶添加一些東西時,我不想讓所有頁面都重新加載,但只有「購物車」模板。 (行項目屬於車) 訂單項中創建方法:的Javascript Rails的模板不能正常工作

#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文件/視圖/ line_items

因此,這裏的問題。

其實它的工作原理。但是當我點擊「添加到購物車」按鈕時,沒有任何變化,直到我重新加載頁面。

在服務器日誌顯示:

Rendered line_items/create.js (0.0ms) 

0.0ms - 因爲肯定意味着什麼是錯的,但我不能figuare了這一點。看起來鐵軌只是打開它,什麼都不做。

可能是什麼原因?

守則create.js

page.replace_html('cart' , render(@cart)) 
+0

纔有可能看到Ajax調用你與成功製作功能一起? – 2013-02-14 11:42:55

+0

我是相當nooby,所以不知道我得到正確的,你想看到 – 2013-02-14 11:54:33

+0

<%= button_to'加入購物車',line_items_path(:product_id => product), :remote => true%> – 2013-02-14 11:55:19

回答

0

所以.js文件/ .rjs模板不導軌> 3.0的工作,應該是.js.erb

0

你仍然需要編寫實際的Ajax請求的JavaScript或jQuery來調用控制器上的方法來更新顯示。

紅寶石是一個服務器端語言,所以你需要做一個AJAX調用服務器,讓你想用它來更新你的頁面的數據。

檢查這post出來,他們似乎在做類似你是什麼,可能是有些用處的東西。如果你不確定什麼阿賈克斯是看看這個link

希望這有助於一些。

+0

其實麻煩的是,我用Rails的前一個版本的教程,之前他們強迫jq而不是通用js – 2013-02-15 10:08:41