你知道,當你從Rails的升級2到3替換這樣的:非侵入式JavaScript來更新一個元素
link_to_remote "more", :url => {...}
與此:
link_to "more", {...}, :remote => true
但是,你如何處理:更新選項link_to_remote?在Railscast #205瑞安貝茨演示link_to
與:remote
和服務器響應,其中包括JavaScript代碼來更新頁面中的特定元素,但這種做法似乎對我來說是錯誤的。我希望我的服務器響應是一個簡單的HTML片段,它很容易測試,並且可以以不同的方式用於不同的頁面(客戶端)。我不認爲服務器應該知道請求頁面上目標元素的ID,因爲它將動作綁定到頁面(小型客戶端),因此使其不那麼一般(它也感覺比純HTML響應)。
因此,要明確,是有沒有辦法做這樣的事情:
link_to_remote "more", :url => {...}, :update => "products-list"
使用Rails 3和UJS?或者,我必須編寫JavaScript來捕獲服務器的HTML響應並將其插入到頁面的正確元素中?
如果是後者,請描述最好的方法(可以使用link_to
的:remote
的選項?)。
這正是我說我不想做的事情,因爲它將服務器的響應與頁面上的元素(「產品列表」)聯繫起來。這可以防止我使用相同的URL更新另一個頁面,我可能想將相同的內容插入到具有不同ID的元素中。 – 2010-06-30 14:08:08
因此,將要更新的元素的ID傳遞給控制器,並在視圖中使用它 – ErsatzRyan 2010-07-14 18:37:59