Ruby on rails nil的未定义方法“each”:索引的NilClass错误

Ruby on rails nil的未定义方法“each”:索引的NilClass错误,ruby-on-rails,ruby,Ruby On Rails,Ruby,我创建了一个种子,通过事先在rails控制台中测试它来确保它工作。现在我试图在视图中显示实例变量@services,但我有一个错误,它是nill 有什么想法吗 多谢各位 //home.html.erb <div> <% @services.each do |service| %> <%= service.name %> <% end %> </div> 这就是正在呈现的错误 nil:NilClass的

我创建了一个种子,通过事先在rails控制台中测试它来确保它工作。现在我试图在视图中显示实例变量@services,但我有一个错误,它是nill

有什么想法吗

多谢各位

//home.html.erb

  <div>
    <% @services.each do |service| %>
    <%= service.name %>
    <% end %>
  </div>
这就是正在呈现的错误

nil:NilClass的未定义方法“each”

添加根URL映射,并将其指向服务索引操作,如config/routes.rb中的根“servicesindex” 将home.html.erb的内容移动到views/services/index.html.erb 将\u操作之前:仅设置\u服务:[:索引,:显示]更改为\u操作之前:仅设置\u服务::显示 请参阅问题注释:

更改此代码:

before_action :set_service, only: [:index, :show]
为此:

before_action :set_service, only: [:show]

您的home.html.erb似乎未连接到服务控制器。请确保您的config/routes.rb文件中有根“servicesindex”。然后将该html放入views/services/index.html。然后,当你访问你的网站时,一切都应该很好。谢谢你,我认为它起了作用,但现在它跳转到了一个不同的问题。找不到没有ID提取的服务源def set_Service@Service=Service。findparams[:ID]end endchange before_action:set_Service,only:[:index,:show]to before_action:set_Service,only::show。我想你不需要为你的索引操作做set_服务。再次感谢!现在一切都好了
before_action :set_service, only: [:index, :show]
before_action :set_service, only: [:show]