我正在研究Head First Rails Ch2,我使用的是rails 4。 在我输入localhost:3000 / ads后,我收到了如下错误
广告#index中的NOMethodError 显示/Users/changfengTSAI/mebay4/app/views/ads/index.html.erb第3行引发: 未定义的方法`each'代表nil:NilClass
以下是我为此练习所做的事情
1.rails new mebay4
2.rails g model ad name:string description:text price:decimal seller_id:integer email:string img_rul:sting
3.rake db:migrate
4.rails g控制器广告
5.ads_controller.rb
def show
@ad = Ad.find(params[:id])
end
def index
@ad = Ad.find(:all)
end
6.routes.rb
get 'ads/' => 'ads#index'
get 'ads/:id' => 'ads#show'
7.index.html.erb
<h1>All ads</h1>
<ul>
<% for ad in @ads %>
<li><a href ="/ads/<%= ad.id %>"><%= ad.name %></a></li>
<% end %>
</ul>
我想知道如何解决这个问题。谢谢你的帮助。
答案 0 :(得分:1)
def index
@ads = Ad.find(:all)
end
变量命名错误。