ー
ー(中略)
ー
削除ボタンを押しても、なぜか削除されず、get になってしまいます。ご覧のとおり get ではルーティングを定義していないためルーティングエラーになってしまいます。どのようにしたらいいのか教えてください。
routes.rb
Rails.application.routes.draw do resources :microposts, only: [:create, :destroy] end
users_controller.rb
class MicropostsController < ApplicationController before_action :logged_in_user, only: [:create, :destroy] def destroy @micropost.destroy flash[:success] = "Micropost deleted" redirect_to request.referrer || root_url end private def correct_user @micropost = current_user.microposts.find_by(id: params[:id]) redirect_to root_url if @micropost.nil? end end
home.html.erb
<div class="row"> <div class="col-sm-8"> <%= render 'shared/feed' %> </div> </div>
**_feed.html.erb **
<% if @feed_items.any? %> <ol class="microposts"> <li id="<%= micropost.id %>"> <span class="user"> <%= link_to micropost.user.name, micropost.user %> </span> <span class="content"> <%= micropost.content %> </span> <% if current_user?(micropost.user) %> <%= link_to "delete", micropost, method: :delete, data: { confirm: "You sure?" } %> <% end %> </span> </li> </ol> <% end %>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/03 09:46