AJAX と jQuery の両方を試したのはこれが初めてなので、まだ基本的なことをいじっています。
このサイトで見つけたものに基づいて多くのコードを作成しました。
オブジェクトの破棄時に、インデックス ページのオブジェクトのリストを更新したい。
コントローラーのアクション:
def destroy
@artist = Artist.find(params[:id])
@artist.destroy
@artists = Artist.all
end
destroy.js.erb:
$("#post_errors").hide(300);
$("#flash_notice").html("<%= escape_javascript(flash[:notice]) %>");
$("#flash_notice").show(300);
$("#posts_list").html("<%= escape_javascript( render(partial: "list")) %>");
_list.html.erb:
<% for artist in @artists %>
<tr>
<td><%= artist.display_name %></td>
<td><%= link_to "Destroy", artist, remote: true, confirm: "Are you sure?", method: :delete %></td>
</tr>
<% end %>
index.html.erb:
<div id="artist_list"><%= render partial: 'list' %></div>
破棄リンクをクリックすると、オブジェクトを破棄するためのデータベース アクションが実行され、オブジェクトが削除されますが、インデックス ページのリストは、ページを更新しない限り更新されません。
ここで私が間違っていることは明らかですか?