0

这里的新手。我只是想列出“站点”中的所有对象。我知道这是非常简单的事情,但我似乎无法找到它!

错误:

NoMethodError in Home#index

Showing /Users/jasonmurphy/data/projects/moviefeed/app/views/home/index.html.erb where     line #6 raised:

undefined method `each' for nil:NilClass
Extracted source (around line #6):

3: <u>SITES</u>
4: <br>
5: 
6: <% @sites.each do |site| %>
7:  <%= site.name %>
8:  <% end %>

我的“网站”控制器:

class SitesController < ApplicationController
def index
    @sites = Site.all
end

def show
    @site=Site.find(params[:id])
end 
end

我的观点 - Views/home/index.html.erb

<u>SITES</u>
<br>

<% @sites.each do |site| %>
<%= site.name %>
 <% end %>

还有我的 routes.rb

resources :sites
resources :critics
root :to => "home#index"
4

1 回答 1

1

在不知道任何其他信息的情况下 - 看起来它永远不会击中您的站点控制器。我会将您的根行更改为:

root :to => 'sites#index'

然后,您必须将您的视图代码移动到您的 app/view/sites/ 目录。或者,您可以将控制器代码移动到家庭控制器。

于 2013-09-13T21:36:06.390 回答