簡體   English   中英

單擊使用Ajax進行編輯時,用表單部分替換部分

[英]Replacing a partial with a form partial when clicking edit with ajax

在我的Rails應用程序中,我希望能夠單擊“編輯”以用部分表格替換/交換顯示部分。

我已經開始通過將remote:true添加到我的編輯鏈接來開始應用ajax和jquery。 然后,我創建了一個名為edit.js.erb的js文件來調用ajax

這是我的想法控制器:

def edit
   @idea = Idea.find_by_permalink(params[:id])
end

在edit.js.erb中,我嘗試過:

$("data-model[idea-basic-show]").hide().after("<%= j render('idea_basic_edit')%>");

但這沒有用

然后,我嘗試:

 $("#art_edit_show").replaceWith("ART EDIT PARTIAL");

確保js在正常工作

我在這里做錯了什么?

好像您走在正確的軌道上。 要經常檢查的事情:

  • 您是否看到任何JS錯誤? 檢查瀏覽器的JS控制台。
  • 編輯JS實際在運行嗎? 檢查您的服務器日志以確保該操作正在運行,如果是,則發出alert('Got here'); 在edit.js.erb中查看是否出現。

在第一個示例中,jQuery選擇器看起來很奇怪。 我對選擇器的用法不熟悉。 您可能要檢查一下。

如果在頁面中有一個ID為art_edit_show的元素,則第二個絕對應該做某事。 確保元素具有id="art_edit_show"而不是id="#art_edit_show" ,這很容易犯錯。

我喜歡使用的一種調試技術是控制台記錄我要替換的選擇器。 在替換元素之前,在edit.js.erb中執行以下操作:

console.debug($("#art_edit_show"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM