我想在我的應用程序來刪除一個事件:Rails的5 - 無法摧毀一個項目
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
(有set_event
方法爲before_action
前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 %>
點擊在「刪除」,帶我到我的event_path,例如http://localhost:3000/events/1。它不會破壞該物品。我讀它可以與JS的東西,但我有所有的寶石和我的application.js看起來不錯。我使用Rails 5.0
你在Windows系統上的工作? – dp7
是的,這可能是一個問題嗎? – Jack
是的,這是** Windows用戶**遇到的一個着名問題!實際發生的情況是,您的佈局application.html.erb中沒有'<%= javascript_include_tag'應用程序'%>'。理想情況下'// = require jquery_ujs'在'application.js'中是必需的,這確實有助於識別請求是「get」還是「delete」。 因此,如果您將'<%= javascript_include_tag'應用程序'%>'更改爲'<%= javascript_include_tag:default%>',那麼'jquery_ujs'不起作用!因此,'delete'請求被接受爲'get'請求&控制器將其映射到'show'動作而不是'destroy'。 – dp7