Ruby on rails 显示模板中的Nomethod错误 show.html.erb 标题 名称

Ruby on rails 显示模板中的Nomethod错误 show.html.erb 标题 名称,ruby-on-rails,Ruby On Rails,消息 岗位控制员 class PostsController

消息

岗位控制员
class PostsController
但是,当应用程序在服务器上运行时(我使用的是thin而不是puma),它表示NoMethod错误为“unidentified method###each”
之所以发生这种情况,是因为在show操作中,您将@posts变量设置为单个Post实例,而不是可枚举的集合。因此它不能用
#each
进行迭代

在你的节目中,你只想展示一篇文章,是吗?如果是,您不需要使用。每个,只需将您的节目更改为:

<h1><strong>Title</strong></h1> 
<%= @post.Title.upcase %>
<h2><i>name</i></h2>
<%= @post.Name.capitalize %>
<p>
  <b>Message</b>
  <%= @post.Message %>
</p>

使用单数而不是复数,因为您只分配了一个实例。

这是因为在show操作中,您将@posts变量设置为单个Post实例,而不是可枚举的集合。因此它不能用
#each
进行迭代

在你的节目中,你只想展示一篇文章,是吗?如果是,您不需要使用。每个,只需将您的节目更改为:

<h1><strong>Title</strong></h1> 
<%= @post.Title.upcase %>
<h2><i>name</i></h2>
<%= @post.Name.capitalize %>
<p>
  <b>Message</b>
  <%= @post.Message %>
</p>
使用单数而不是复数,因为您只指定了一个实例

<h1><strong>Title</strong></h1> 
<%= @post.Title.upcase %>
<h2><i>name</i></h2>
<%= @post.Name.capitalize %>
<p>
  <b>Message</b>
  <%= @post.Message %>
</p>
def show # we will use it to view the whole mesage
  @post = Post.find(params[:id])
end