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/
包含名为index
的views/posts/
。 这样,Rails将知道在处理get方法时必须呈现此视图。
关于一个很好的教程,我会推荐这个。 它是extense并涵盖了很多与Rails本身不相关的东西,比如在Heroku和一些CSS上进行部署。