分类#show中的Rails NoMethodError

时间:2012-11-11 16:11:13

标签: ruby-on-rails ruby routes

我正在关注一本名为Rails Solutions的书:Rails Made Easy,它是为rails 2编写的,但是我使用的是rails 3,这使得它非常有趣,让我学到了很多很好的东西,但是我我坚持上述问题。我已经阅读了Stack和其他网站,我认为这可能是一个路由问题,但到目前为止,这本书还没有提到任何关于路线的内容。

的routes.rb

List::Application.routes.draw do
  match ':controller(/:action(/:id))(.:format)'
end

应用程序/视图/分类/ show.html.erb

  <p>
    <strong>Title: </strong> <%= @classified.title %><br />
  </p>

应用程序/控制器/ classified_controller.rb

class ClassifiedController < ApplicationController
  def list
    @classifieds = Classified.find(:all)
  end
  def show
     @classifieds = Classified.find(params[:id])
  end
   def new
@classified = Classified.new
  end
  def create
    @classified = Classified.new(params[:classified])
    if @classified.save
      redirect_to :action => 'list'
    else
      render :action => 'new'
    end
  end
  def edit

  end
  def update

  end
  def delete

  end
end

分类#show

中的NoMethodError

显示/home/mark/Documents/RoR/list/app/views/classified/show.html.erb第3行提出:

nil的未定义方法`title':NilClass 提取的来源(第3行):

1: 2:

3:标题:&lt;%= @ classified.title%&gt;
4:

1 个答案:

答案 0 :(得分:2)

在您的控制器中,您使用了@classifieds但在视图中使用的是@classified。改变一个以匹配另一个。