未定义的方法`url'为零:NilClass

问题描述:

我是RoR的新手。未定义的方法`url'为零:NilClass

我只是下载一些示例代码并部署应用程序。 之后,我得到错误信息如下:

undefined method `url' for nil:NilClass 
Extracted source (around line #5): 

2: 
3: <p> 
4: <b>Url:</b> 
5: <%= @page.url %> 
6: </p> 
7: 

以及相应的代码在pages_controller.rb是

def index 
    @pages = Page.all 
    respond_with(@pages) 
end 

是否有处理这个错误什么建议吗? 谢谢

上@ Lakitu的回答阐述了一下,你应该有这样的事情在你的索引视图:

<% for page in @pages do %> 
    <p><b>Url:</b> <%= page.url %></p> 
<% end %> 

不知道为什么脚手架产生这个问题,但根本原因是由@Lakitu解释得很好(+1)。

+0

我只是发现我尝试访问/ pages/show获取索引数据。这不是关于Scaffold的问题。这是一个关于我的大脑的问题:'(。非常感谢。 –

您在您的视图中引用@page,但您从控制器传递@pagesindex方法通常用于项目列表,您的视图似乎最好用作show视图。

+0

感谢您的回复。我用脚手架来创造这个。索引用于实际项目列表。 –

+0

谢谢!大拇指你的答案。 –

你做了db安装吗? 耙分贝:创建 耙分贝:迁移

+0

感谢您的回复。 db和table实际上是存在的。 –