Итак, я получаю следующую ошибку:
undefined method `errors' for #<Comment::ActiveRecord_Associations_CollectionProxy:0x00007f1a3e2ecf48>
Я могу получить количество комментариев и тому подобное, однако я не могу отобразить ошибки валидации.
Вот что у меня есть в терминах моего кода
_new_comment
<% if signed_in? %>
<div class="row">
<%= form_with(model: [@product, @product.comments.build], local: true) do |f| %>
<% if @product.comments.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.comments.errors.count, "error") %> prohibited this comment from being saved:</h2>
<ul>
<% @product.comments.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
comments_controller
class CommentsController < ApplicationController
def create
@product = Product.find(params[:product_id])
@comment = @product.comments.new(comment_params)
@comment.user = current_user
@comment.save
respond_to do |format|
if @comment.save
format.html { redirect_to @product, notice: 'Review was successfully created.' }
format.json { render :show, status: :created, location: @product }
else
format.html { redirect_to @product, alert: 'Review was not saved successfully.' }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
end
def destroy
end
private
def comment_params
params.require(:comment).permit(:user_id, :body, :rating)
end
end
Любая помощь здесь приветствуется.