とりあえずノート

情報系の大学に通っている大学生が日常のことについてとりあえずメモっていくブログです

バリデーションエラーについて

最近小さな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」が上書きされてバリデーションエラーが表示されないということでした。