мой взгляд в настоящее время выглядит следующим образом:JQuery не удаляя правильную строку в виду
<li class="list" data-id="<%=list.id%>">
<div class="view" id="<%=list.id%>">
<input class="toggle" type="checkbox" checked="">
<%= button_to "Delete", { action: "destroy", id: list.id }, method: :delete, :class => "destroy", remote: true %>
<label><%= list.name %></label>
</div>
<%= form_for(list, remote: :true) do |f| %>
<%= f.text_field :name, :class => "edit" %>
<% end %>
</li>
и мой контроллер выглядит следующим образом:
class ListsController < ApplicationController
def index
@lists = List.order("created_at DESC")
@list = List.new
end
def create
@list = List.new(list_params)
if @list.save
if request.xhr?
@lists = List.all
# somehow only send back the html for the page update
render :layout => false
else
redirect_to root_path
end
else
@lists = List.all
render :index
end
end
def update
@list = List.find(params[:id])
if @list.update(list_params)
render
else
render 'list/show'
end
end
def destroy
@list = List.find_by(params[:id])
@list.destroy
respond_to do |format|
format.html { redirect_to lists_path }
format.js #rails default: go to views/todos/destroy.js.erb
end
end
private
def list_params
params.require(:list).permit(:name)
end
end
и мой текущий файл destroy.erb.js выглядит следующим образом :
var id = "<%= @list.id %>";
$("#" + id).slideUp();
он работает с помощью AJAX, но он всегда удаляет нижнюю строку первой (в отличие от ид, нажал на) ... Как могу я исправить это?
Вы пытаетесь 'slideUp()' 'в
Когда я вызываю родителя, происходит то же самое. Я хочу, чтобы div с Id list.id скользил вверх. Прямо сейчас, независимо от того, где я нажимаю, последний элемент на странице скользит вверх. Мне интересно, связано ли это с моим индексом list = List.order ("created_at DESC"). – Becca