Я на самом деле создаю веб-приложение для электронной коммерции, которое имеет модели User
, Category
, Book
и Comment
.Все работает хорошо, но когда я пытаюсь комментировать в одной из книг, это дает ошибку 400.Мне действительно нужно, чтобы ты мне помог.https://github.com/felixpro/Book-app это мой репозиторий.
Это мой CommentsController
class CommentsController < ApplicationController
before_action :authenticate_user!
def create
book = Book.find(params[:comment][:book_id])
comment = book.comments.build(comment_params)
comment.user = current_user
if comment.save
redirect_to book_path(@book)
end
end
private
def comment_params
params.require(:comment).permit(:body)
end
end
Это частичное представление комментария,
<% if signed_in? %>
<div class="card bg-light new-comment">
<div class="card-body">
<p class="font-weight-bold">Deja tu comentario:</p>
<%= form_for @book.comments.build do |f| %>
<%= f.hidden_field :book_id, value: @book.id %>
<div class="form-group">
<%= f.text_area :body, rows: 4, class: "form-control" %>
</div>
<div class="text-right">
<%= f.submit "Comentar", class: "btn btn-primary" %>
</div>
<% end %>
</div>
</div>
<% else %>
<div class="card bg-light mt-5">
<div class="card-body">
<p class="card-text text-center lead"><%= link_to "Regístrate", new_user_registration_path %> o <%= link_to "Ingresa", new_user_session_path %> para comentar</p>
</div>
</div>
<% end %>
Вот маршруты
Rails.application.routes.draw do
devise_for :users
root 'books#index'
resources :books
resources :comments, only: [:create]
end
Ошибка сказать
Это изображения, показывающие сообщение об ошибке