找不到没有 ID 的评论

Couldn't find Comment without an ID

我正在构建一个具有论坛功能的基本网站。我正在尝试在 PostController#Show 中实现一项功能,该功能将显示与 post 关联的每个评论。但是,我不断收到“无法找到 ______ 没有 ID”的错误。这是我所拥有的:

Post控制器

class PostsController < ApplicationController

  def show
    @topic = Topic.find(params[:topic_id])
    @post = Post.find(params[:id])
    @comments = Comment.find(params[:post_id])
  end

我为@comments 尝试了多种变体,但都出现了类似的错误。

Post 显示视图

<h1><%= markdown_to_html @post.title %></h1>

<div class="row">
  <div class="col-md-8">
    <small>
      <%= image_tag(@post.user.avatar.tiny.url) if @post.user.avatar? %>
      submitted <%= time_ago_in_words(@post.created_at) %> age by
      <%= @post.user.name %>
    </small>
    <p><%= markdown_to_html( @post.body) %></p>
    <p><%= markdown_to_html( @comments ) %></p>
    </div
    <div class="col-md-4">
      <% if policy(@post).edit? %>
        <%= link_to "Edit", edit_topic_post_path(@topic, @post), class: 'btn     btn-success' %>
      <% end %>
  </div>
</div>

路线

Rails.application.routes.draw do

  devise_for :users
  resources :users, only: [:update]
  resources :topics do
    resources :posts, except: [:index] do
      resources :comments, only: [:create]
    end
  end


  get 'about' => 'welcome#about'
  get 'contact' => 'welcome#contact'

  root to: 'welcome#index'


end

我认为这与主题内 Post 内的嵌套评论有关,并且没有使用正确的语法。谁能指出我正确的方向?

谢谢,

马特

在您看来,您就不能这样做吗:

@post.comments.each do |comment|

或者在您的控制器中:

@comments = @post.comments

我假设你已经建立了一个协会。