初学rails的几个注意事项

今天按照Agile Web Development with Rails 的depot例子,准备根据数据库表自动生成scaffold,
那天在公司把这个例子做了一遍,觉得挺顺利,没想到今天换到家里的机子后,出现了不少问题.
在这里记录一下出现的问题及解决办法.
开发环境基本就是
  WinXP
  ruby1.8.6
  rails1.2.3
  MySQL Community Edition5.0.37


1.创建好数据库和products表后,执行
    cmd>ruby script/generate scaffold product
结果报错
      exists  app/controllers/
      
      error  Before updating scaffolding from new DB schema, try creating a ta
le 
for your model (Product)
 
  
 
在google上搜了一下,大概有2种解决办法:
   (1) 在database.yml文件中,在密码项前面加个空格(原文地址http://www.javaeye.com/post/264530)
   (2) 数据表名称没有复数,默认情况下,如果表为products,则命令相应为....scaffold product
       这个规则可以在相应的配置文件中修改,具体可以google,这里不多讲了.
  这两种方法都试过了,但问题依旧.
   (3)无意中打开database.yml文件,发现有这样几句提示:
# Install the MySQL driver:
#   gem install mysql
# On MacOS X:
#   gem install mysql 
-- --include=/usr/local/lib
# On Windows:
#   gem install mysql
#   Choose the win32 build.
#   Install MySQL and put its 
/bin directory on your path.
  于是执行了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
 

posted on 2007-09-04 21:39 想飞就飞 阅读(1448) 评论(3)  编辑  收藏 所属分类: ROR

评论

# re: 初用ruby的几个注意事项 2007-09-04 22:20 轩朗=maninred

编码问题一般在windows下才有的吧,如果使用MacOSX和Linux这些默认local编码为utf-8的不用加入编码指定也不会乱码,还有在输入数据时浏览器的编码设置也是一个原因。  回复  更多评论   

# re: 初用ruby的几个注意事项 2007-09-05 08:24 dennis

这个,应该叫学习rails的注意事项比较合适  回复  更多评论   

# re: 初用ruby的几个注意事项 2007-09-05 09:29 想飞就飞

@dennis
:)
多谢提醒啊
  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告


导航

<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

统计

常用链接

留言簿(13)

我参与的团队

随笔分类(69)

随笔档案(68)

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜