rails学习第二天:解决radrails导入新项目出现的问题

2007-12-09 11:28| 分类:tech web开发| 标签: | 1,389 次点击

一、

第一次导入depod_k项目,会自动使用3001端口,不过访问

http://localhost:3001/查看环境或者直接访问

http://localhost:3001/admin时

都会出现:

Application error (Apache)

Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html
而我按《敏捷开发》里一步步做出来的却没有这个问题。于是我把自己根据书里创建的项目中的environment.rb代码覆盖到导入的项目上,再重启webrick,查看环境就没有问题了。此问题解决。

二、

不过访问:

http://localhost:3001/admin又出现:

Errno::ENOENT in AdminController#index

No such file or directory – /tmp/mysql.sock

RAILS_ROOT: script/../config/..
而同样我按《敏捷开发》里一步步做出来的却没有这个问题。于是我把整个database.yml都复制到导入的文件里,仍然不行(后来才知道是忘了重启)。于是google到这里:http://rc.org.cn/viewthread-162:

在Ubuntu下用apt-get默认安装了Mysql后运行rails程序会出现

QUOTE:

No such file or directory – /tmp/mysql.sock

这样的错误,其实是由于MySQL没有安装在默认的地址下的原因,解决办法是如果您有安装phpmyadmin的话,登录进去,选择系统变量会看到一项

QUOTE:

socket /var/run/mysqld/mysqld.sock

这样的字眼,后面的就是socket的地址,把database.yml里加上一行:

QUOTE:

socket: /var/run/mysqld/mysqld.sock

再中止Webrick,重新启动就可以正常运行了。

我是直接把database.yml里的代码复制过去,但是没有重启Webrick,于是重启了下,刷新,发现就没有问题了。

三、

后来我又导入depod_r,一切都按刚才导入depod_d时操作,但访问:http://localhost:3002/admin,又出现:
ActiveRecord::StatementInvalid in AdminController#index

Mysql::Error: #42S02Table ‘depot_development.users’ doesn’t exist: SHOW FIELDS FROM users

RAILS_ROOT: ./script/../config/.. 估计是由于数据库没有那个表。因为这个项目是最后的项目了,中间肯定还得修改下数据库。说实话,这本《Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)》看得我是一头雾水,即便结合操作也仍不明白怎么回事,跟以往ASP、PHP开发流程太不一样了,看来得直接找个项目直接做了,不懂再看书

相关文章

发表您的评论

您的昵称:
您的邮箱:(可选,不会被公布)
您的网站: