初學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
結果報錯
(1) 在database.yml文件中,在密碼項前面加個空格(原文地址http://www.javaeye.com/post/264530)
(2) 數據表名稱沒有復數,默認情況下,如果表為products,則命令相應為....scaffold product
這個規則可以在相應的配置文件中修改,具體可以google,這里不多講了.
這兩種方法都試過了,但問題依舊.
(3)無意中打開database.yml文件,發現有這樣幾句提示:
中斷了好幾次,不過這個問題總算解決了..
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
那天在公司把這個例子做了一遍,覺得挺順利,沒想到今天換到家里的機子后,出現了不少問題.
在這里記錄一下出現的問題及解決辦法.
開發環境基本就是
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種解決辦法:

error Before updating scaffolding from new DB schema, try creating a ta
le for your model (Product)
(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時# 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.
中斷了好幾次,不過這個問題總算解決了..
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 想飛就飛 閱讀(1460) 評論(3) 編輯 收藏 所屬分類: ROR