2015-07-10 5 views
0

Я получаю эту ошибку при попытке удалить список приложений в моем коде.Почему я получаю ошибку 500 из-за JQuery?

DELETE http://localhost:3000/apps/9 500 (Internal Server Error) 
jQuery.ajaxTransport.send @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:9660 
jQuery.extend.ajax @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:9211 
$.rails.rails.ajax @ jquery_ujs.self-ca5248a2fad13d6bd58ea121318d642f195f0b2dd818b30615f785ff365e8d1f.js?body=1:84 
$.rails.rails.handleRemote @ jquery_ujs.self-ca5248a2fad13d6bd58ea121318d642f195f0b2dd818b30615f785ff365e8d1f.js?body=1:162 
(anonymous function) @ jquery_ujs.self-ca5248a2fad13d6bd58ea121318d642f195f0b2dd818b30615f785ff365e8d1f.js?body=1:384 
jQuery.event.dispatch @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea56bfa5f96ea7c074.js?body=1:4666 
jQuery.event.add.elemData.handle @ jquery.self-d03a5518f45df77341bdbe6201ba3bfa547ebba8ed64f0ea5 

Я пытаюсь реализовать кнопку удаления UJS. Хотя список удаляет, он не применяет .hide ('медленный') метод в destroy.js.erb файле:

<% if @app.destroyed? %> 
    $('#app-' +<%= @app.id %>).hide('slow'); 
<% else %> 
    $('#app-' +<%= @app.id %>).prepend("<div class='alert alert-danger'><%= flash[:error] %></div>"); 
<% end %> 

уничтожить ресурс в Apps_controller: Index

def destroy 
    @app = App.find(params[:id]) 

    if @app.destroy 
     flash[:notice] = "App was removed." 
     redirect_to @app 
    else 
     flash[:error] = "App couldn't be deleted. Try again." 
     redirect_to @app 
    end 

    respond_to do |format| 
     format.html 
     format.js 
    end 
    end 

App

<h1>All Apps</h1> 
<% @apps.each do |app| %> 
    <div class="media"> 
    <div class="media-body"> 
     <h5 id="app-<%=app.id%>" class="media-heading"> 
     <%= link_to app.title, app %> 
     <%= link_to "Delete", app , method: :delete, remote: true %> 
     </h5> 
    </div> 
    </div> 
<% end %> 
+0

Вы должны проверить журналы сервера Rails, так как здесь происходят 500 ошибок. – sevenseacat

+1

Но как вы можете перенаправить приложение, которое вы только что уничтожили, для начала. – sevenseacat

+0

Вы проверили, идет ли он к destroy.js.erb после удаления приложения? – kd12

ответ

1

Можете ли вы проверить, изменив действие уничтожения в контроллере? например.

def destroy 
    @app = App.find(params[:id]) 
    if @app.destroy 
    flash[:notice] = "App was removed." 
    else 
    flash[:error] = "App couldn't be deleted. Try again."  
    end 
    respond_to do |format|  
     format.js { } 
    end 
end 
Смежные вопросы