バリデーションエラーについて
最近小さなwebアプリを作ろうと思い、メモアプリを作ってみたのですがバリデーションエラーで詰まってしまい、その原因と解決をまとめました。
[ダメなやつ]
def create
@memo = Memo.new(memo_params)
if @memo.save
@memos = Memo.all
redirect_to '/memos'
else
@memo = Memo.new
@memos = Memo.all
render 'index'
end
[いいやつ]
def create
@memo = Memo.new(memo_params)
if @memo.save
@memos = Memo.all
redirect_to '/memos'
else
@memos = Memo.all
render 'index'
end
end
何が違うと悪いやつの7行目を消しただけです。。。。
これのせいでバリデーションエラーメッセージを含んでいる「@memo」が上書きされてバリデーションエラーが表示されないということでした。