ruby on railsに関して質問です。
現在、progateで学習しているのですが、以下の部分がよくわかっていません。テキストの下にコードを記載しています。
ご説明いただけるとありがたいです。
行いたいことは、createアクションの中で、@post.saveに失敗した際に、renderを用いて、newのビューに戻り、エラー文を表示することです。この時に、どうしてnewアクションの中で、@post=Post.newをしなければならないのかがよくわかりません。
@post=Post.find_by(id: params[:id])等を用いて、createアクション内で生成された@postのインスタンス変数を探し、その中に格納されたあエラー文を表示する。という考え方は間違っているのでしょうか??
間違っているからその先に進めないのですが(笑)、、、
自分の考え方がどうして間違っているのか納得したいです。よろしくお願いします。
class PostsController < ApplicationController
def new
@post = Post.new
end
def create
@post = Post.new(content: params[:content])
if @post.save
flash[:notice] = "投稿を作成しました"
redirect_to("/posts/index")
else
render("posts/new")
end
end
end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/01/07 00:46
2019/01/07 00:59