我正在按照此处找到的教程进行操作。这很简单,我完全按照步骤 6.7 的说明进行操作。在这一点上,我得到了错误
undefined method `each' for nil:NilClass
当我尝试访问 rails 服务器上的 index.html.erb 时。
我知道数据库运行良好,因为我可以完成步骤 6.3 中提到的所有操作,创建新帖子并显示/编辑/销毁它们绝对没有问题。
具体来说,问题在于线路
<% @posts.each do |post| %>
它基本上声称那@posts
是零。
感谢您对这个 ROR 新手的任何帮助!谢谢。
index.html.erb
<h1>Hello, Rails!</h1>
<table>
<tr>
<th>Name</th>
<th>Title</th>
<th>Content</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @posts.each do |post| %>
<tr>
<td><%= post.name %></td>
<td><%= post.title %></td>
<td><%= post.content %></td>
<td><%= link_to 'Show', post %></td>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
<td><%= link_to 'Destroy', post, :confirm => 'Are you sure?',
:method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to "My Blog", posts_path %>
post_controller.rb
class PostsController < ApplicationController
# GET /posts
# GET /posts.json
def index
@posts = Post.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @posts }
end
end