Ruby on Rails 实践

[color=indigo][b]***** Ruby on Rails 实践 读书笔记一 *****[/b][/color]

ruby script\generate model book
ruby script\generate controller book

[b]Rails连接Sql Server问题[/b]
从[url=http://rc.org.cn/group_id=234&release_id=25125.html]RubyForge[/url]下载[url=http://www.rayfile.com/files/a5c00902-96af-11dd-ae89-0014221b798a/]dbi-0.2.2.tar.gz[/url] [img]http://static.rayfile.com/media/img/icon_download.gif[/img],\lib\dbd\ADO.rb复制到Ruby安装目录\lib\ruby\site_ruby\1.8\DBD\ADO 下,更改config\database.yml。
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlserver
database: mybook
host: localhost
username: sa
password: dol

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlserver
database: mybook
host: localhost
username: sa
password: dol

production:
adapter: sqlserver
database: mybook
host: localhost
username: sa
password: dol


[b]新版本Rails的scaffold问题[/b]
ruby script/plugin install scaffolding
ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/

[color=red]暂时不明白这个指令的含义
ruby script\generate scaffold book title:string description:text buydate:datetime[/color]

http://127.0.0.1:3000/book/new能够打开,但点击Create报错
Unknown action
No action responded to /book/created


[color=indigo][b]***** Rails安装问题 *****[/b][/color]

使用rubygems安装rails,执行远程命令[color=red]gem install rails[/color],但不知为何始终无法成功,可能是网络问题,报错信息如下:
[quote]ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
SocketError reading http://gems.rubyforge.org/gems/activerecord-2.1.1.gem[/quote]

于是决定手动安装,在[url=http://rc.org.cn/group_id=307&release_id=25692.html]RubyForge[/url]下载[url=http://www.rayfile.com/files/c8ebc6f5-980c-11dd-b7d1-0014221b798a/]rails-2.1.0.zip[/url] [img]http://static.rayfile.com/media/img/icon_download.gif[/img] 和[url=http://www.rayfile.com/files/c08d9882-980b-11dd-81c6-0014221b798a/]rails-2.1.0.gem[/url] [img]http://static.rayfile.com/media/img/icon_download.gif[/img],存于F:\Ruby\source目录下,在此路径下执行[color=red]gem install rails rails-2.1.0.gem[/color],依旧同样错误。

执行[color=red]gem update --system[/color]更新gem版本后,执行[color=red]gem -v[/color]查看版本已从0.9.4升至1.3.0。

再次安装:
[quote]F:\Ruby\source>[color=red]gem install rails rails-2.1.0.gem[/color]
Successfully installed activeresource-2.1.1
Successfully installed rails-2.1.1
ERROR: could not find gem rails-2.1.0.gem locally or in a repository
2 gems installed
Installing ri documentation for activeresource-2.1.1...
Installing RDoc documentation for activeresource-2.1.1...

F:\Ruby\source>[color=red]gem -v[/color]
1.3.0

F:\Ruby\source>[color=red]gem install rails[/color]
Successfully installed rails-2.1.1
1 gem installed

F:\Ruby\source>[color=red]rails -v[/color]
Rails 2.1.1[/quote]


[color=indigo][b]***** Ruby on Rails 实践 读书笔记二 *****[/b][/color]

反复试了几个小时,终于在我的Sql Server 2000环境中完成实践里的CRUD功能。

1、下载[url=http://www.rayfile.com/files/1cf8dd05-982b-11dd-acc2-0014221b798a/]sqlserver_adapter.rb[/url] [img]http://static.rayfile.com/media/img/icon_download.gif[/img] 存于{Ruby安装目录}\lib\ruby\gems\1.8\gems\activerecord-2.1.1\lib\active_record\connection_adapters下。

2、下载[url=http://www.rayfile.com/files/a5c00902-96af-11dd-ae89-0014221b798a/]dbi-0.2.2.tar.gz[/url] [img]http://static.rayfile.com/media/img/icon_download.gif[/img],解压后将\lib\dbd\ADO.rb复制到{Ruby安装目录}\lib\ruby\site_ruby\1.8\DBD\ADO下。

3、执行F:\Ruby\railsdoc>[color=red]rails booksample2[/color](railsdoc是我的项目目录)创建工程文件夹,rails将生成该应用程序的完整目录结构。

4、修改booksample2\config\database.yml文件,如下:
adapter: sqlserver
database: mybook
host: localhost
username: sa
password: dol


5、执行F:\Ruby\railsdoc\booksample2>[color=red]ruby script/generate scaffold Book title:string description:text buydate:date[/color],为Book类创建更多相关的数据库移植文件及model、controller、views文件。

6、先后执行[color=red]rake db:create[/color]创建数据库和[color=red]rake db:migrate[/color]创建表结构,但发生了以下错误:
[quote]F:\Ruby\railsdoc\booksample2>[color=red]rake db:create[/color]
(in F:/Ruby/railsdoc/booksample2)
F:\Ruby\railsdoc\booksample2>[color=red]rake db:migrate[/color]
(in F:/Ruby/railsdoc/booksample2)
rake aborted!
Open
OLE error code:80004005 in Microsoft OLE DB Provider for SQL Server
无法打开登录 'mybook' 中请求的数据库。登录失败。
HRESULT error code:0x80020009
发生意外。

(See full trace by running task with --trace)[/quote]

打开数据库发现数据库并未建立[b][i][color=green](Why?...)[/color][/i][/b],于是在企业管理器中手动新建了一个名为mybook的数据库,再执行[color=red]rake db:migrate[/color],如下(如不执行此命令而手动建表的话,Create时会显示主键字段无法插入NULL值的错误信息):
[quote]F:\Ruby\railsdoc\booksample2>[color=red]rake db:migrate[/color]
(in F:/Ruby/railsdoc/booksample2)
== 20081012063300 CreateBooks: migrating ======================================
-- create_table(:books)
-> 0.0150s
== 20081012063300 CreateBooks: migrated (0.0310s) =============================[/quote]

7、执行[color=red]ruby script/server[/color]以启动WEBrick服务器,如下:
[quote]F:\Ruby\railsdoc\booksample2>[color=red]ruby script/server[/color]
=> Booting WEBrick...
=> Rails 2.1.1 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-10-12 14:40:25] INFO WEBrick 1.3.1
[2008-10-12 14:40:25] INFO ruby 1.8.6 (2007-09-24) [i386-mswin32]
[2008-10-12 14:40:25] INFO WEBrick::HTTPServer#start: pid=3948 port=3000 [/quote]

8、在浏览器键入http://127.0.0.1:3000/books打开页面,但却发现输入中文是乱码,且Create后报错,如下:
[quote]DBI::DatabaseError: Execute OLE error code:80040E10 in Microsoft OLE DB Provider for SQL Server
至少一个参数没有被指定值。[/quote]

9、在booksample2\config\environment.rb文件中添加如下代码:
[quote]require 'win32ole'
WIN32OLE.codepage = WIN32OLE::CP_UTF8 [/quote]

10、Ruby on Rails实例中的CRUD功能就完成了,如下图所示:
[img]/upload/attachment/43446/d867a9a0-7501-34a2-9a28-0e9f76132c16.jpg[/img]

[quote][color=blue]F:\Ruby\railsdoc\booksample2>ruby -v
[b]ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32][/b]

F:\Ruby\railsdoc\booksample2>rails -v
[b]Rails 2.1.1[/b]

F:\Ruby\railsdoc\booksample2>gem -v
[b]1.3.0[/b][/color][/quote]

原空间地址:[url]http://rc.org.cn/9571/spacelist-blog.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值