国庆节无事,学ruby,看看rails是如何快速开发的。
参考了:
http://swifthorse.iteye.com/blog/59776
http://www.iteye.com/topic/53877
并自己再总结,因为他们都没讲全。
花了整整一天时间,终于搞定数据库及乱码,集网上多人的经验啊。用的版本都比较老。
首先,在页面http://rubyforge.org/frs/?group_id=904下载InstantRails-1.6-win.zip
解压到D盘的根目录。
然后把本文的附件下载ruby-dbi-all.zip,取出其中的\lib\dbd_ado\ADO.rb
。然后,在集成安装目录下找到D:\InstantRails-1.6-win\InstantRails\ruby\lib\ruby\site_ruby\1.8\DBD,在其中建立文件夹ADO,然后把上面的ADO.rb拷贝进去。
然后,用rails建立项目depot(注意是集成工具开的窗口,见下描述),然后在sqlserver中建立3个空的数据库depot_development,depot_test,depot_production.
然后找到config下的database.yml,改成
注意:我本人的用户是sa,密码是1,库名是depot_development
然后,在项目的config/environment.rb文件尾加入
然后,在通过InstantRails-1.6-win左上角I按钮开启的dos(一般dos不行)下,
执行 rake db:migrate
正常情况下,应只显示一行,说明数据库连上 。
然后,在depot目录下
ruby script/generate model product
修改db目录下的文件
然后,再执行rake db:migrate,正常情况下,应显示好几行,确认一下product表建了。
然后,dos下,ruby script/generate controller admin
然后,在admin_controller.rb下加一行(脚手架),scaffold :product
然后,dos下启动自带服务器, ruby script/server
然后,用浏览器输入http://localhost:3000/admin
然后,点击new product链接,输入中文标题等,然后,页面应该正确显示,然后,到数据库里看是否是中文的记录,应该是,搞定收工,累死了。
参考了:
http://swifthorse.iteye.com/blog/59776
http://www.iteye.com/topic/53877
并自己再总结,因为他们都没讲全。
花了整整一天时间,终于搞定数据库及乱码,集网上多人的经验啊。用的版本都比较老。
首先,在页面http://rubyforge.org/frs/?group_id=904下载InstantRails-1.6-win.zip
解压到D盘的根目录。
然后把本文的附件下载ruby-dbi-all.zip,取出其中的\lib\dbd_ado\ADO.rb
。然后,在集成安装目录下找到D:\InstantRails-1.6-win\InstantRails\ruby\lib\ruby\site_ruby\1.8\DBD,在其中建立文件夹ADO,然后把上面的ADO.rb拷贝进去。
然后,用rails建立项目depot(注意是集成工具开的窗口,见下描述),然后在sqlserver中建立3个空的数据库depot_development,depot_test,depot_production.
然后找到config下的database.yml,改成
注意:我本人的用户是sa,密码是1,库名是depot_development
development:
adapter: sqlserver
database: depot_development
username: sa
host: DBI:ADO:Provider=SQLOLEDB;Data Source="127.0.0.1";Initial Catalog="depot_development";User Id="sa";password="1";
password: 1
test:
adapter: sqlserver
database: depot_development
username: sa
host: DBI:ADO:Provider=SQLOLEDB;Data Source="127.0.0.1";Initial Catalog="depot_development";User Id="sa";password="1";
password: 1
production:
adapter: sqlserver
database: depot_development
username: sa
host: DBI:ADO:Provider=SQLOLEDB;Data Source="127.0.0.1";Initial Catalog="depot_development";User Id="sa";password="1";
password: 1
然后,在项目的config/environment.rb文件尾加入
require 'win32ole'
WIN32OLE.codepage = WIN32OLE::CP_UTF8
然后,在通过InstantRails-1.6-win左上角I按钮开启的dos(一般dos不行)下,
执行 rake db:migrate
正常情况下,应只显示一行,说明数据库连上 。
然后,在depot目录下
ruby script/generate model product
修改db目录下的文件
class CreateProducts < ActiveRecord::Migration
def self.up
create_table :products do |t|
t.column :title, :string
t.column :description, :text
t.column :image_url, :string
end
end
def self.down
drop_table :products
end
end
然后,再执行rake db:migrate,正常情况下,应显示好几行,确认一下product表建了。
然后,dos下,ruby script/generate controller admin
然后,在admin_controller.rb下加一行(脚手架),scaffold :product
然后,dos下启动自带服务器, ruby script/server
然后,用浏览器输入http://localhost:3000/admin
然后,点击new product链接,输入中文标题等,然后,页面应该正确显示,然后,到数据库里看是否是中文的记录,应该是,搞定收工,累死了。