私はモデルSnippit
を持っています。リストからスニッピットを削除してから、削除されたというアラートをすべて表示するようにしてください。私は実際の削除を行う方法を考え出しましたが、アラートは作成しませんでした。ここで ページリロードのないアラートRails AJAX
snippits_controller.rb
def destroy
@snippit = Snippit.find(params[:id])
@snippit.destroy
respond_to do |format|
format.html { redirect_to snippits_url}
format.json { head :no_content }
format.js {render :alert => "Sippit destroyed. "}
end
end
destroy.js.erb
$('#snippit_<%= @snippit.id %>').remove();
index.html.erb
<% @snippits.each do |snippit| %>
<span class="panel panel-default" id="snippit_<%= snippit.id %>">
<%= link_to edit_snippit_path(snippit), :class => "text" do %>
<div class="panel-body">
<h3 class="text"><%=snippit.title%></h3>
<p class="trash"><%= link_to snippit, method: :delete, remote: true do %>
<i class="fa fa-2x fa-trash-o"></i>
<% end %></p>
</div>
<% end %>
</span>
<% end %>
任意およびすべてのヘルプは大歓迎です:)
私は両方の方法を試しましたが、どちらもうまくいきませんでした。試してみると、すべてが機能しなくなりました。私は2番目の方法で何をすべきかをかなり理解していませんが。私のアラートラッパーは 'alert_wrapper'というIDを持ち、実際のアラートIDは' alert'です。そこから私を導くことができますか? – Xavier
オプション2を使用したときにコントローラがどのように見えるかを表示するために自分の答えを更新しました: 'destroy.js.erb' –
'