0

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が機能していて、それが機能したことを確認する

ここで何が間違っていますか?

4

1 に答える 1

0

あなたは正しい軌道に乗っているようです。常にチェックすること:

  • JS エラーが表示されていますか? ブラウザの JS コンソールを確認してください。
  • 編集 JS は実際に実行されていますか? サーバー ログをチェックして、アクションが実行されていることを確認します。実行されている場合はalert('Got here');、edit.js.erb に を入れて、それが表示されるかどうかを確認します。

最初の例では、jQuery セレクターが奇妙に見えます。私はそのセレクターの使用法に慣れていません。あなたはそれを確認したいかもしれません。

ページに表示される ID art_edit_show を持つ要素がある場合、2 番目は確実に何かを行う必要があります。要素に がid="art_edit_show"あり、 がないことを確認してくださいid="#art_edit_show"。これは間違いやすいです。

私が好んで使用するデバッグ手法は、置き換えようとしているセレクターをコンソール ログに記録することです。要素を置き換える前に edit.js.erb で次のことを行います。

console.debug($("#art_edit_show"));
于 2013-11-08T22:28:25.217 に答える