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: , , ,

Rails updated to 1.2.2

今天在浏览Railscn的时候,发现bd7lx说rails已经升级到1.2.2了.于是赶紧准备gem update rails.
因为是在公司的电脑,上网需要加代理,于是用 gem update rails -p http://proxyaddress:port 来更新,可惜因为速度的关系没更新成功.只好把以下几个东西手动下载下来进行本地安装:

gem install activesupport-1.4.1.gem
gem install activerecord-1.15.2.gem
gem install actionpack-1.13.2.gem
gem install actionmailer-1.3.2.gem
gem install actionwebservice-1.2.2.gem
gem install activeresource-0.5.0.gem
gem install rake-0.7.1.gem
gem install rails-1.2.2.gem

按完最后一下回车,提示rails 1.2.2已经正常安装了,输入 rails -v检查成果:

C:\ruby>rails -v
Rails 1.2.2

好啦,继续去看书了.

Technorati Tags: , ,

Ruby on rails 学习笔记1

创建了一个ROR的PJ,然后修改了database.yml之后,执行”ruby script\server” 失败,显示:

syntax error on line 18, col 2: `  host: localhost’

一开始以为是”host:”和”localhost”之间多了一个空格,于是把它去掉.结果还是这句提示,再仔细观察database.yml,发现其实错误不在多了一个空格而是少了一个空格,”Password:”和mysql的密码之间少了一个空格.

默认的文件格式中,”host”,”user”,”database”后面都有一个空格跟着,自己填密码的时候忘记了.

这个故事告诉我们,在填空的时候需要注意上下文的格式 Orz.

Technorati Tags: , , , ,