2

これはかなり単純なコードですが、どういうわけか「削除」をクリックするとレコードが削除されますが、更新するまでインデックス ページに表示されません。すべてのレコードを表示するために jquery を使用しています。

コントローラーでは、破棄アクションを追加しました

format.js

Index.html.erbに、追加しました

<td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' }, :remote => true %></td>

destroy.js.erbに、追加しました

$('#edit_post_<%= @post.id %>').remove();

削除リンクをクリックすると、投稿は削除されますが、インデックスファイルの出力は更新されず、更新したときにのみ、削除されたアイテムのない新しいリストが表示されます。何が足りないのですか?

ありがとう

編集 - わかりました、私はこれを解決することができました、問題はdestroy.js.erbの悪いjqueryコードでした、私は間違ったdivを呼び出していました

4

2 に答える 2

0

@post.destroyレンダリングする前に、コントローラにメソッドが追加されていることを確認してくださいformat.js。現在、htmlソースからのみ削除しています。変更を反映するには、全体的な値を変更する必要があります(からdatabase

于 2013-01-03T18:07:13.733 に答える
0

コントローラー @post_id = @post.id で、投稿を破棄する前にこれを設定します。

そしてjs.erbファイルでこの行を使用します $('#edit_post_<%= @post_id %>').remove();

投稿を削除した後、 @post.id は js ファイルでは何の意味もありません。

于 2013-01-03T17:29:58.517 に答える