我正在关注一本名为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:
答案 0 :(得分:2)
在您的控制器中,您使用了@classifieds
但在视图中使用的是@classified
。改变一个以匹配另一个。