【问题标题】:Head First Rails | NoMethodError in Ads#index头先导轨 |广告中的 NoMethodError#index
【发布时间】:2014-01-17 14:46:08
【问题描述】:

我正在学习 Head First Rails Ch2,我使用的是 rails 4。 输入 localhost:3000/ads 后出现如下错误

广告中的 NOMethodError#index 显示 /Users/changfengTSAI/mebay4/app/views/ads/index.html.erb 其中第 3 行提出: nil:NilClass 的未定义方法“each”

这是我为这个练习所做的

1.rails new mebay4

2.rails g模型广告名称:字符串描述:文字价格:十进制卖家ID:整数电子邮件:字符串img_rul:sting

3.rake db:迁移

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>

我想知道如何解决这个问题。感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:
    def index
      @ads = Ad.find(:all)
    end
    

    变量命名错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-09
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多