を破壊することはできません。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
(destroy
前before_action
としてset_event
方法がある)
<% @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 %>
クリック"Delete"で私のevent_pathに移動します。 http://localhost:3000/events/1。それはアイテムを破壊しません。私はそれがJSと何かできることを読んだが、私はすべての宝石があり、私のapplication.jsは上手く見える。私はdata
属性値のハッシュに、役立ちます。この
<%= link_to 'Delete', event_path(event), data: { confirm: 'Are you sure?' }, method: :delete %>
希望を試みるべきであるRailsの5.0
は、Windowsシステム上で作業していますか? – dp7
はい、それは問題になりますか? – Jack
はい、この有名な問題のうちの1つです** Windowsユーザー**が出会います!実際には、レイアウト 'application.html.erb'に' <%= javascript_include_tag 'アプリケーション'%> 'がありません。理想的には、 'application = js'には' require = jquery_ujs'が必要です。これは本当にリクエストが 'get'か' delete'かを識別するのに役立ちます。 '<%= javascript_include_tag 'アプリケーション'%>'を '<%= javascript_include_tag:default%>'に変更したので、 'jquery_ujs'は機能しません!したがって、 'delete'リクエストは' get'リクエストとして受け入れられ、コントローラは 'destroy'の代わりに' show'アクションにマップします。 – dp7