0

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

路线.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

分类中的 NoMethodError#show

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

nil:NilClass 的未定义方法 `title' 提取的源代码(在第 3 行附近):

1:2:

3: 标题: <%= @classified.title %>
4:

4

1 回答 1

2

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

于 2012-11-11T16:13:46.370 回答