rails配置sqlserver2000

国庆节无事,学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



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链接,输入中文标题等,然后,页面应该正确显示,然后,到数据库里看是否是中文的记录,应该是,搞定收工,累死了。

















你可能感兴趣的:(浏览器,dos,Ruby,Rails,ActiveRecord)