Я следую учебнику, найденному здесь. Это просто, и я выполнил инструкции точно до шага 6.7. На этом этапе я получаю сообщение об ошибке
undefined method `each' for nil:NilClass
когда я пытаюсь получить доступ к index.html.erb на сервере rails.
Я знаю, что база данных работает нормально, потому что я могу сделать все, упомянутое в шаге 6.3, создавать новые сообщения и показывать/редактировать/уничтожать их без проблем.
В частности, проблема связана с линией
<% @posts.each do |post| %>
и, по существу, утверждая, что @posts
равно nil.
Я ценю любую помощь для этого новичка 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 %>
posts_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