内容摘要:今天按照Agile Web Development with Rails 的depot例子,准备根据数据库表自动生成scaffold,那天在公司把这个例子做了一遍,觉得挺顺利,没想到今天换到家里的机子后,出现了不少问题.
今天按照Agile Web Development with Rails 的depot例子,准备根据数据库表自动生成scaffold,
那天在公司把这个例子做了一遍,觉得挺顺利,没想到今天换到家里的机子后,出现了不少问题.
在这里记录一下出现的问题及解决办法.
1.创建好数据库和products表后,执行
cmd>ruby script/generate scaffold product
结果报错
exists app/controllers/


error BeforeupdatingscaffoldingfromnewDBschema,trycreatingata
leforyourmodel(Product)
在google上搜了一下,大概有2种解决办法:
(1) 在database.yml文件中,在密码项前面加个空格(原文地址http://www.javaeye.com/post/264530)
(2) 数据表名称没有复数,默认情况下,如果表为products,则命令相应为....scaffold product
这个规则可以在相应的配置文件中修改,具体可以google,这里不多讲了.
这两种方法都试过了,但问题依旧.
(3)无意中打开database.yml文件,发现有这样几句提示:
#InstalltheMySQLdriver:
# geminstallmysql
#OnMacOSX:
# geminstallmysql----include=/usr/local/lib
#OnWindows:
# geminstallmysql
# Choosethewin32build.
# InstallMySQLandputits/bindirectoryonyourpath.
于是执行了gem install mysql,之后问题就解决了.奇怪的是我在办公室一样的环境,没有执行gem install mysql,也没有出现过该问题.唯一的区别,呵呵,大概就是家里网速慢,那天gem intall rails时
中断了好几次,不过这个问题总算解决了..
2. 连接数据库编码问题
生成scaffold后,就可以CRUD了,但是发现执行完CRUD后,mysql数据库中记录为乱码,执行
mysql>set names gbk后,还是显示乱码,depot数据库、products表均已设置为utf8格式,在
database.yml中加入encoding:utf8后,问题解决.
development:
adapter: mysql
database: depot
username: root
password:
host: localhost
encoding: utf8
责编:豆豆技术应用
- Linux/Unix新闻
- Linux/Unix入门
- Linux/Unix命令
- Linux/Unix安装
- Linux/Unix编程
- Linux/Unix管理
- Linux/Unix桌面
- Linux/Unix内核
- Linux/Unix软件
- Linux/Unix发行版
- redhat/Fedora
- Ubuntu Linux
- IBM AIX
- FreeBSD
- Solaris
- NetBSD
- SCO Unix
- find基本用法
- ldd命令原理及用法例子
- su和sudo命令的区别与使用技巧
- Linux操作系统下的dd命令技巧
- 关于Top命令的参数详解
- 关于Tar命令的使用
- SSH实用技巧及常用命令使用
- Linux后台执行命令
- VI命令使用技巧集锦
- Vmstat命令列出的属性详解
- 如何查看及修改文件读写权限
- 最大可存储的单文件容量
- ext2/ext3文件系统介绍
- 常用压缩格式的压缩解压方法
- Linux系统的引导过程详细解析
- Configure参数解释说明
- Linux下硬盘和分区的命名方法
- 硬链接与软链接的区别
- 权限和所有权模型
- 存储设备的两种表示方法