他のものを検索して試しましたが、私はそれを取得しません。イベントページに入ったら、「編集」または「削除」をクリックできます。あなたがそれを作成したユーザーである場合に限ります。経路が[DELETE] "/ events"と一致しません
問題:「削除」をクリックします。私は3回確認します: "あなたは本当ですか?"私はそれらをクリックした後、すべては「OK」、それは述べていない「Noルートの一致を[削除] 『私は、ユーザシステムのための工夫と連携編集』これらはボタンです
『』と 『』 /削除イベントを:。
<div class="btn-group pull-right">
<% if current_user.id == @event.user.id && user_signed_in? %>
<%= link_to "Edit", edit_event_path, class: "btn btn-default" %>
<%= link_to "Delete", events_path, method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-default" %>
<% end %>
</div>
私はチュートリアルに続き、同じものを使用し、「events_controller」という名前のコントローラを持って、私はCRUDシステムを使用読む更新削除作成します。。。
class EventsController < ApplicationController
before_action :find_event, only: [:show, :edit, :update, :destroy]
def index #index pagina
@event = Event.all.order("created_at DESC")
end
def show
end
def new
@event = current_user.events.build
end
#CRUD actions
def create
@event = current_user.events.build(event_params)
if @event.save
redirect_to @event, notice: "Event created."
else
render 'new'
end
end
def edit
end
def update #event updaten
if @event.update(event_params)
redirect_to @event, notice: "Event updated."
else
render 'edit'
end
end
def destroy
@event.destroy
redirect_to events_path
end
private
def event_params
params.require(:event).permit(:title, :description, :image)
end
def find_event
@event = Event.find(params[:id])
end
end
これらは私のルートです: https://gyazo.com/57c5b0da9a82dbcc2744e0f8262d0f8d
ここであなたはパスを渡しています。代わりに削除するオブジェクトを渡す必要があります。例えば、「ユーザまたは@ユーザ」 – mrvncaragay
@ Marv-C私は理解していると思うが、何を書くべきか?私は '@ event.destroy'と' redirect_to events_path'と言うので、 –