找不到没有 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
我假设你已经建立了一个协会。
我正在构建一个具有论坛功能的基本网站。我正在尝试在 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
我假设你已经建立了一个协会。