destroyメソッドが反映されなくて困っています。
postcontroller
1class PostsController < ApplicationController 2 def index 3 4 @posts = Post.all 5 end 6 7 def new 8 @post = Post.new 9 end 10 11 def create 12 Post.create(post_params) 13 end 14 15 private 16 def post_params 17 params.require(:post).permit(:text).merge(user_id: current_user.id) 18 end 19 20 def edit 21 end 22 23 def show 24 end 25 26 def update 27 end 28 29 def destroy 30 post = Postt.find(params[:id]) 31 if post.user_id == current_user.id 32 post.destroy 33 end 34 end 35end
routes
1Rails.application.routes.draw do 2 devise_for :users 3 4 root to: 'posts#index' 5 resources :posts 6 resources :users 7 end
index
1<div class="posts"> 2 <% @posts.each do |post| %> 3 <li> 4 <%= link_to '削除', "/posts/#{post.id}", method: :delete %> 5 </li> 6 <%= simple_format(post.text) %> 7 <% end %> 8</div> 9
new
1<div class = "posts"> 2 <%= form_for(@post) do |f| %> 3 <%= f.text_field :text %> 4 <%= f.submit '投稿' %> 5 <% end %> 6</div> 7
rails sした際に
ログインアプリ
ログアウト
マイページ
投稿する
削除
vvvvvvvvv
この用に表示されます
vvvvvvvvvはコメントとして送信して表示された結果です。
この際に消去を押すと下の用になりback to indexを押してメイン画面に戻っても
ログインアプリ
ログアウト
マイページ
投稿する
dddd
back to index
↓
ログインアプリ
ログアウト
マイページ
投稿する
削除
vvvvvvvvv
コメントのvvvvvvvvvが消えません。
destroyメソッドを反映させコメントを消すにはどうしたらいいでしょうか?
お力を貸していただけると助かります。
またこちらの質問の仕方が分かりにくかったりしたら補足させていただきますのでよろしくお願いします。
def destroy
post = Postt.find(params[:id])
if post.user_id == current_user.id
post.destroy
end
end
↓
def destroy
post = Post.find(params[:id])
if post.user_id == current_user.id
post.destroy
end
end
に改善させていただきました。がやはりまだ消去ボタンがつかえません。
お力を貸していただけると助かります。 よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/22 09:46 編集
2019/12/22 10:22
2019/12/22 10:23
2019/12/22 10:27
2019/12/22 10:44
2019/12/22 10:52
2019/12/22 10:54