rails undefined方法`each’代表nil:NilClass

我正在按照此处的教程进行操作。 这很简单,我按照说明完全按照步骤6.7进行操作。 此时,我收到错误

undefined method `each' for nil:NilClass 

当我尝试访问rails服务器上的index.html.erb时。

我知道数据库工作正常,因为我可以完成步骤6.3中提到的所有内容,创建新post并显示/编辑/销毁它们绝对没有问题。

具体来说,问题在于线

  

而且它基本上声称@posts是零。

我很欣赏这个ROR新手的任何帮助! 谢谢。

index.html.erb

 

Hello, Rails!

Name Title Content
'Are you sure?', :method => :delete %>

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 

为了使views在Rails中正常工作,它们必须位于正确的目录中。 这是Rails喜欢的所谓“ 配置约定”的众多实现之一。

因此,如果您有方法index并且此方法位于名为PostsController的控制器内,则您必须在目录views/posts/包含名为indexviews/posts/ 。 这样,Rails将知道在处理get方法时必须呈现此视图。

关于一个很好的教程,我会推荐这个。 它是extense并涵盖了很多与Rails本身不相关的东西,比如在Heroku和一些CSS上进行部署。