2009-10-18 82 views
0

即時通訊使用rails 2.3.3和web瀏覽器Firefox我已經添加了ajax和java腳本,並且它也在工作,但是我必須在每次按下Add to Cart按鈕時重新加載頁面按鈕以顯示項目在側欄添加它不會顯示它沒有重新加載。使用rails的敏捷web開發 - Ajax

任何人請幫助我如何顯示在側欄中的項目添加當我按下添加到購物車按鈕無法重新加載頁面?

+0

你是如何加入購物車的?這是你自己的javascript,還是你想讓Rails獲得添加,然後將其顯示在側邊欄上? – 2009-10-18 15:27:35

+0

我認爲你需要提供更多的細節和/或代碼。 – 2009-10-18 15:32:03

回答

0

如果您還沒有這樣做,安裝Firefox的Firebug,原因如下:

  • 它會告訴你,如果你有一個JavaScript錯誤。
  • 它會告訴你,如果你的Ajax請求正在收到及其內容。
  • 你可以檢查你的頁面元素,如購物車,看看它是否設置爲顯示,如果ID是正確的等等,比瀏覽源代碼更快。
  • 和更多(CSS等)。

如果您無法通過查看Firebug控制檯來了解它,並且因爲您正在關注教程,爲什麼不下載Depot源代碼並將其與您自己進行比較以查看您的內容'做錯了。

如果你有這本書,完整的來源列在本書最後。您也可以從here下載源代碼。

+0

我已經安裝螢火蟲,但它不是刷新添加到側欄本身。 我必須點擊刷新按鈕才能在側欄上看到我的購物車。 我需要知道如何更新此form_remote_tag?我不知道它的syntex請告訴我。 <%form_remote_tag:url => {:action =>'add_to_cart',:id => product} do%> \t \t \t <%= submit_tag「加入購物車」%> – Zeshansari 2009-10-24 13:27:45

0

標準ajax幫手方法是link_to_remote,form_remote_tag,form_remote_for,button_for_remote。 (我可能錯過了一些。)如果你不使用其中的一個,你可能會做錯某些事情。

如果您使用的輔助方法與remote一個作爲名稱的一部分,你可能會錯過update選項或update選項指向了錯誤的HTML元素。

對於form_remote_tag幫手:

form_remote_tag(:url => {:controller => controller_name, :action => action_name, :id => id}, 
:update => element_to_update) 

的element_to_update應該是您要更新的HTML元素的ID。

+0

我使用下面的form_remote_tag方法,但我沒有使用任何更新選項,請你告訴我如何更新它?我使用rails 2.3.3學習敏捷web開發,但它也沒有使用任何更新選項。 <%form_remote_tag:URL => {:動作=> 'add_to_cart',:ID =>產品}辦%> <%= submit_tag 「加入購物車」 %> <% end %> – Zeshansari 2009-10-18 16:34:47

+0

我更新了我的答案。 – Jim 2009-10-18 17:02:03