tweetの削除・編集が機能しない
railsを初めて数か月の初学者です。
prograteを見ながら、見た映画をtweetできるwebappを開発しています。
tweetを投稿できるのですが、編集と削除を行うとエラーが発生します。
エラー画面からブラウザバックしてみると削除「初めて数か月の初学者です。
prograteを見ながら、見た映画をtweetできるwebappを開発しています。
tweetを投稿できるのですが、編集と削除を行うとエラーが発生します。
エラー画面からブラウザバックしてみると削除のみできています。
発生している問題・エラー
NoMethodError in MovieController#destroy
undefined method `destroy' for nil:NilClas
NoMethodError in Movie#edit
undefined method `id' for nil:NilClass
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
routes.rb
get "movie/:id/edit" => "movie#edit"
post "movie/:id/update" => "movie#update"
post "movie/:id/destroy" =>"movie#destroy"
movie_controller.rb
def edit
@movie=Movie.find_by(id:params[:id])
end
def update
@movie=Movie.find_by(id:params[:id])
@movie.content=params[:content]
@movie.save
redirect_to("/movie/index")
end
def destroy
@movie=Movie.find_by(id:params[:id])
@movie.destroy
@movie.save
redirect_to("/movie/index")
end
show.html.erb
<body>
<div class="movie-show-item">
<p>
<%= @movie.content %>
</p>
<div class="post-time">
<%= @movie.created_at%>
</div>
<%=link_to("編集","/movie/#{@movie.id}/edit")%>
<%=link_to("削除","/movie/#{@movie.id}/destroy",{method:"post"})%>
</div>
</body>
edit.htmlerb
<%=form_tag("/movie/#{@movie.id}/update") do %>
<div class="form">
<div class="form-body">
<textarea name="content"><%= @movie.content %></textarea>
<input type="submit" value="保存">
</div>
</div>
<% end %>
db
20210316015932_create_movies.rb
class CreateMovies < ActiveRecord::Migration[5.2]
def change
create_table :movies do |t|
t.text :content
t.timestamps
end
end
end
自分で試したこと
投稿したtweetが保存されていかもしれないと確認したところ、tweetは保存されていました
0