ROR学习笔记(2)

在学习”Agile_web_development_with_rails”的时候,发现进行到”Add to cart”哪一部报错:

You have a nil object when you didn’t expect it!
The error occured while evaluating nil.items

也就是说我的”Cart.item”是一个空值…百思不得其解。通过Google,在Railscn上找到了答案。

把代码顺序改一下,private不是修饰一个方法,它跟c++差不多,它后面的方法都被声明为private了,所以你的add_to_cart也是private的。

rails中找不到public的action方法时,就会直接渲染rhtml文件,所以你这个方法根本没调用。

有人和我遇到了同样的问题,把Private的代码调到最后,再刷新没有这样的问题了。

这个故事告诉我们,看教科书除了要看的认真之外,还要学会动脑筋。不过不知道是不是因为我的是Beta版的原因。谁有Final版的第二版Agile_web_development_with_rails,想借来看看,听说中间的改动还是有一些的。

Technorati Tags: , , ,

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据