正体不明の重複メッセージ
下記エラー: undefined method `errors' for nil:NilClass
。
スペルミス無し。
暗中模索の結果、article_controller.rb の def new に @article = Article.new 追記でエラーは出なくなった。
→ ▶︎今度は validation のメッセージが重複して出現。
▶︎models/article.rb
class Article < ApplicationRecord
validates :title, presence: true, length: {minimum: 5}
end
▶︎articles_controller.rb
class ArticlesController < ApplicationController
def index
@articles = Article.all
end
def show
@article = Article.find params[:id]
end
def new
@article = Article.new
end
def create
@article = Article.new(article_params)
if @article.save
redirect_to article_path(@article)
else
render 'new'
end
end
def article_params
params.require(:article).permit(:title, :text)
end
end
▶︎views/articles/new.html.erb
新規記事作成
<%= form_for :article, url: articles_path do |f| %>
<% if @article.errors.any? %>
<%= @article.errors.count %>個のエラーあり
<%= @article.errors.full_messages.each do |msg| %>
<%= msg %>
<% end %>
<% end %>
<%= f.text_field :title %>
<%= f.text_area :text %>
<%= f.submit %>
<% end %>
["Title can't be blank", "Title is too short (minimum is 5 characters)"]内の記述(不要)がどこからきているのか、検証の見方、回避する方法、をどなたかご教示いただけますと幸いです。