Я новичок в Ruby и пытаюсь отобразить комментарии на своей странице показа, но когда я создаю комментарий, он не отображается. Я сделал частичную на моей странице показа, чтобы отобразить комментарии, но они не появляются.
Странно то, что действие create работает, но оно приводит меня на эту страницу: http://localhost:3000/hairstyles/2/comments
, на которой ничего нет (в моем приложении эта страница находится в представлении> comments> create.html.erb), вместо этого я бы нравится переходить на страницу просмотра прически и отображать комментарий ..........
Если кто-то может помочь и посмотреть, есть ли какие-либо ошибки в моем коде, я был бы благодарен. Заранее спасибо.
Комментарии Контроллер:
class CommentsController < ApplicationController
def new
@hairstyle = Hairstyle.find(params[:hairstyle_id])
@comment = Comment.new
end
def create
@comment = Comment.new(comment_params)
@hairstyle = Hairstyle.find(params[:hairstyle_id])
@comment.save
end
def destroy
end
end
private
def comment_params
params.require(:comment).permit(:content)
end
Страница просмотра прически, где я хочу отобразить комментарии:
<div class="container">
<div>
<%= cl_image_tag @hairstyle.photo, width: 300, height: 200, crop: :fill %>
<h1><%= @hairstyle.name %></h1>
<p><%= @hairstyle.description%></p>
<p><%= @hairstyle.category%></p>
<p><%= @hairstyle.video_url %></p>
</div>
</div>
<div>
<%= link_to 'Back', hairstyles_path %>
</div>
<h6>Comments for: <%= @hairstyle.name %> <small><%= %></small></h6>
<h2>
<%= pluralize @hairstyle.comments.size, "comment" %>
</h2>
<div id="comments">
<% if @hairstyle.comments.blank? %>
Be the first to leave a comment for <%= @hairstyle.name %>
<% else %>
<% @hairstyle.comments.each do |comment| %>
<%= render 'comments/show', comment: comment %>
<% end %>
<% end %>
</div>
<%= render 'comments/form', comment: @comment %>
Форма комментариев Я выполняю рендеринг, который работает и отображается:
просмотры> комментарии> _form.html.erb
<div class="flex-box">
<%= simple_form_for([ @hairstyle, comment ]) do |form| %>
<%= form.input :content, as: :text %>
<%= form.button :submit %>
<% end %>
</div>
Содержимое комментариев, которое я отображаю, которое не отображается после добавления комментария к моей прическе на странице шоу:
вид> комментарии> _show.html.erb
<p><%= comment.content %></p>