Ich versuche, ein Ereignis in meiner App zu löschen:Rails 5 - kann ein Element nicht zerstören
def destroy
@event.destroy
respond_to do |format|
format.html { redirect_to events_url, notice: 'Event was successfully destroyed.' }
format.json { head :no_content }
end
end
(es gibt set_event
Methode als before_action
vor destroy
)
<% @events.each do |event| %>
<tr>
<td>Due date:</td> <%= event.date %><br>
<td>City:</td> <%= event.city %><br>
<td>Address:</td > <%= event.address %><br>
<td>Time:</td > <%= event.time %><br>
<td>Capacity:</td> <%= event.capacity %><br>
<td>Fee:</td> <%= event.fee %><br>
<%= link_to 'Show', event %></td>
<td><%= link_to 'Edit', edit_event_path(event) %></td>
<td><%= link_to "Delete", event, :confirm => "Are you sure?", :method => :delete %></td>
</tr>
<% end %>
Ein Klick auf "Löschen", bringt mich zu meinem event_path, zB http://localhost:3000/events/1. Es zerstört den Gegenstand nicht. Ich lese es kann etwas mit JS sein, aber ich habe alle Edelsteine und meine application.js sieht gut aus. Ich bin mit Rails 5,0
sind Sie arbeitet an einem Windows-System? – dp7
Ja, kann es ein Problem sein? – Jack
ja, dieses eine der berühmten Probleme, die ** Windows-Benutzer ** rüber kommen! Was tatsächlich passiert, ist, dass Sie in Ihrem Layout 'application.html.erb' keine' <% = javascript_include_tag 'Anwendung'%> 'haben. Idealerweise ist in 'application.js' '// = require jquery_ujs' erforderlich, was in der Tat hilft zu erkennen, ob eine Anfrage 'get' oder' delete' ist. Also, wie Sie <% = javascript_include_tag '-Anwendung'%> 'in <% = javascript_include_tag: default%>' geändert hätte, so funktioniert 'jquery_ujs' nicht! Also, 'delete' Anfrage wird als' get' Anfrage akzeptiert & Controller mappt es auf 'show' Aktion anstelle von' destroy'. – dp7