- 浏览: 454901 次
- 性别:
- 来自: Runner
文章分类
- 全部博客 (97)
- commons (3)
- EJB3 (5)
- liferay (1)
- 设计模式 (1)
- JBoss (1)
- 常用 (6)
- guice (4)
- JAX-WS (1)
- 持久层处理 (3)
- 单元测试 (3)
- jmesa (6)
- mongodb (3)
- View显示 (6)
- lucene (1)
- struts2 (2)
- spring security (2)
- spring (4)
- hibernate (1)
- mysql (1)
- ruby (21)
- python (2)
- ubuntu (1)
- ibatis (2)
- javascript (3)
- 数据库 (1)
- swing (1)
- java基础 (2)
- dojo (1)
- android (9)
最新评论
-
BigHanson:
写得非常棒,醍醐灌顶 可以转发吗
spring security验证流程 -
背后的光:
spring security验证流程 -
hanlongjie:
commons-lang(time应用) -
litianpeng:
虽然是2009年写的帖子 不过还是要请问一下先生 我按照你的 ...
Ajax Fancy Capcha -
蔡小鱼:
ibatis总结
最近有想学一下ruby on rails的冲动,JAVA这东西的确很复杂,做一个系统要消耗相当多的人力与时间,开始厌倦了这种开发方式。之前一直有想学ror的,但是时机不成熟,没那么多的时间与精力,最近突然有了这个决定,那就试一下吧。
虽然早就有了准备,但是搞ror并不是想的那么容易,其基本环境的搭建也不简单,概念也比较多,开始花了几天时间看了一下ruby的基本语法,几天以后发现这样不行,太慢了,于是开始尝试搞个ror的例子,然后就接触了一些新的概念了。基本安装过程大概搞了两三天吧,网上说法很多,但说得都不全,因此多花了些时间,下面把这个基本的入门过程写下来,做个简单的回顾吧。
一、安装ruby、rubygems
在http://rubyinstaller.org/可以下载一个针对windows平台的ruby安装文件,如现在使用的是rubyinstaller-1.9.1-p378-rc2.exe,这个安装文件自带了rubygems,所以不必单独下载,如果机子已经装过了,可以通过gem update --system 命令进行升级。
二、安装rails
经过第一步之后,就可以在windows控制台中使用ruby命令了,如ruby -v,可以显示当前ruby的版本号,直接输入gem install rails -y就会自动搜索网络安装rails,也可以通过gem update rails更新rails。
三、安装数据库
一般例子使用sqlite数据库,这个数据库有点类似HSQLDB,是一个内存数据库,使用很简单,先通过gem install sqlite3-ruby,然后在http://www.sqlite.org/download.html下载sqlite-3_5_6.zip & sqlitedll-3_5_6.zip两个文件,将其解压得到一个exe文件与一个dll文件,将其放入ruby安装目录的bin目录下即可。
鉴于mysql的流行,有必要讲一下mysql的安装过程,首先执行gem install mysql命令,然后将mysql安装目录的bin/libmySQL.dll文件复制到ruby安装目录的bin目录下(还有一个步骤与具体的应用相关联,见后面的步骤)。
尽管如此,试用的时候还是发现连接mysql时服务器一点都不稳定,多刷新两次服务器就停了,也没看见报什么错,而且在使用rake db:migrate时也会出错,因此在windosw平台学习的时候最好还是使用sqlite3,至于连接mysql为什么不稳定,目前还不清楚,但至少mysql(2.8.1)版本的驱动是很不稳定的。原因:
the Ruby MySQL gem currently does not support MySQL 5.1
后来在网上偶然看见过这种情况,实际上mysql的libmySQL.dll版本的问题,不能用最新的版本。附件上传了一个,应该没有问题,把libmySQL.dll文件放在ruby/bin目录下。
不过这个mysql gem 存在字节编码问题,所以后来有了更好的mysql2,这个mysql2在linux下安装相对简单,如果要在windows下使用,需要先安装devkit,然后才能安装mysql2,这方面的资料可在网上找找。
四、创建应用
基本环境建好后,就可以做一个简单的应用了:
1.建一个ruby的工作目录,如rubywork,通过windows控制台命令进行其目录下,然后通过rails demo命令创建当前工作区的基本文件。
2.启动服务,通过demo>ruby script/server webrick启动web服务,可用ctro+c关闭服务,其中webrick是一个ror的web服务器,这个服务器主要在开发环境中使用,实际应用中可使用mongrel。值得一提的在script目录中,包含了许多有用的脚本。启动成功后可看见以下图片:
webrick也是属于测试开发的时候使用,性能肯定好不了的,在windows平台下,推荐使用mongrel,但是目前的mongrel好像并不支持ruby1.9,所以用不了。
3.创建一个简单的控制器,通过demo> ruby script/generate controller Say创建一个叫Say的控制器,通过这个命令,生成了一个控制器需要的大部分文件,只需要对少量的文件进行更改即可,首先来看生成的demo>app>controllers>say_controller.rb文件:
上面的代码可以看出命令生成了一个空的控制器,现在需要做的就是向其添加相应的操作代码,如添加一个跳转方法hello,可以这样:
这个hello对应相当于一个Action方法,这样就可以通过http://localhost:3000/say/hello来访问这个方法了,但是这个访问这个方法后该往里跳转呢,因此还得增加一个erb文件才可以,默认情况下,ror会访问demo>app>views>say目录下与controller中的action方法相同的erb文件,即hello.erb,由于命令没有生成此文件,所以必须手动添加此文件,文件内容如下:
这样访问http://localhost:3000/say/hello时,就会显示相应的Hello Rails了。
还有一个地方需要注意,就是关于数据库的配置方法,上面讲了,与数据库相关联的文件实际上是在具体的应用中的,更准确的说,是在应用目录>config>database.yml文件中,此文件就是数据库连接的配置文件,如果使用sqlite3,则内容如下:
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
# 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: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
如果使用的mysql,则内容如下:
development:
adapter: mysql
database: development
username: root
password: 200596
pool: 5
timeout: 5000
# 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: mysql
database: test
username: root
password: 200596
pool: 5
timeout: 5000
production:
adapter: mysql
database: production
username: root
password: 200596
pool: 5
timeout: 5000
需要注意的是,development,test,production对应的database最好是分别对应不同的数据库。
这样一个基本的ror工程就完成了。
虽然早就有了准备,但是搞ror并不是想的那么容易,其基本环境的搭建也不简单,概念也比较多,开始花了几天时间看了一下ruby的基本语法,几天以后发现这样不行,太慢了,于是开始尝试搞个ror的例子,然后就接触了一些新的概念了。基本安装过程大概搞了两三天吧,网上说法很多,但说得都不全,因此多花了些时间,下面把这个基本的入门过程写下来,做个简单的回顾吧。
一、安装ruby、rubygems
在http://rubyinstaller.org/可以下载一个针对windows平台的ruby安装文件,如现在使用的是rubyinstaller-1.9.1-p378-rc2.exe,这个安装文件自带了rubygems,所以不必单独下载,如果机子已经装过了,可以通过gem update --system 命令进行升级。
二、安装rails
经过第一步之后,就可以在windows控制台中使用ruby命令了,如ruby -v,可以显示当前ruby的版本号,直接输入gem install rails -y就会自动搜索网络安装rails,也可以通过gem update rails更新rails。
三、安装数据库
一般例子使用sqlite数据库,这个数据库有点类似HSQLDB,是一个内存数据库,使用很简单,先通过gem install sqlite3-ruby,然后在http://www.sqlite.org/download.html下载sqlite-3_5_6.zip & sqlitedll-3_5_6.zip两个文件,将其解压得到一个exe文件与一个dll文件,将其放入ruby安装目录的bin目录下即可。
鉴于mysql的流行,有必要讲一下mysql的安装过程,首先执行gem install mysql命令,然后将mysql安装目录的bin/libmySQL.dll文件复制到ruby安装目录的bin目录下(还有一个步骤与具体的应用相关联,见后面的步骤)。
尽管如此,试用的时候还是发现连接mysql时服务器一点都不稳定,多刷新两次服务器就停了,也没看见报什么错,而且在使用rake db:migrate时也会出错,因此在windosw平台学习的时候最好还是使用sqlite3,至于连接mysql为什么不稳定,目前还不清楚,但至少mysql(2.8.1)版本的驱动是很不稳定的。原因:
引用
the Ruby MySQL gem currently does not support MySQL 5.1
后来在网上偶然看见过这种情况,实际上mysql的libmySQL.dll版本的问题,不能用最新的版本。附件上传了一个,应该没有问题,把libmySQL.dll文件放在ruby/bin目录下。
不过这个mysql gem 存在字节编码问题,所以后来有了更好的mysql2,这个mysql2在linux下安装相对简单,如果要在windows下使用,需要先安装devkit,然后才能安装mysql2,这方面的资料可在网上找找。
四、创建应用
基本环境建好后,就可以做一个简单的应用了:
1.建一个ruby的工作目录,如rubywork,通过windows控制台命令进行其目录下,然后通过rails demo命令创建当前工作区的基本文件。
2.启动服务,通过demo>ruby script/server webrick启动web服务,可用ctro+c关闭服务,其中webrick是一个ror的web服务器,这个服务器主要在开发环境中使用,实际应用中可使用mongrel。值得一提的在script目录中,包含了许多有用的脚本。启动成功后可看见以下图片:
webrick也是属于测试开发的时候使用,性能肯定好不了的,在windows平台下,推荐使用mongrel,但是目前的mongrel好像并不支持ruby1.9,所以用不了。
3.创建一个简单的控制器,通过demo> ruby script/generate controller Say创建一个叫Say的控制器,通过这个命令,生成了一个控制器需要的大部分文件,只需要对少量的文件进行更改即可,首先来看生成的demo>app>controllers>say_controller.rb文件:
class SayController < ApplicationController end
上面的代码可以看出命令生成了一个空的控制器,现在需要做的就是向其添加相应的操作代码,如添加一个跳转方法hello,可以这样:
class SayController < ApplicationController def hello @time=Time.now end end
这个hello对应相当于一个Action方法,这样就可以通过http://localhost:3000/say/hello来访问这个方法了,但是这个访问这个方法后该往里跳转呢,因此还得增加一个erb文件才可以,默认情况下,ror会访问demo>app>views>say目录下与controller中的action方法相同的erb文件,即hello.erb,由于命令没有生成此文件,所以必须手动添加此文件,文件内容如下:
<html> <head> <title> Hello Rails <%=@time%> </title> </head> <body> Hello Rails </body> </html>
这样访问http://localhost:3000/say/hello时,就会显示相应的Hello Rails了。
还有一个地方需要注意,就是关于数据库的配置方法,上面讲了,与数据库相关联的文件实际上是在具体的应用中的,更准确的说,是在应用目录>config>database.yml文件中,此文件就是数据库连接的配置文件,如果使用sqlite3,则内容如下:
引用
# SQLite version 3.x
# gem install sqlite3-ruby (not necessary on OS X Leopard)
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
# 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: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
如果使用的mysql,则内容如下:
引用
development:
adapter: mysql
database: development
username: root
password: 200596
pool: 5
timeout: 5000
# 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: mysql
database: test
username: root
password: 200596
pool: 5
timeout: 5000
production:
adapter: mysql
database: production
username: root
password: 200596
pool: 5
timeout: 5000
需要注意的是,development,test,production对应的database最好是分别对应不同的数据库。
这样一个基本的ror工程就完成了。
发表评论
-
ruby生成java文件的工具
2012-05-17 14:41 1569java开发的很多代码都是 ... -
ruby的require加载
2011-11-15 10:18 3231ruby没有像java那种严格的包管理机制,因此引用起来就有些 ... -
windows上使用mysql2
2011-11-14 14:47 1376想在windows上做ruby应该的可能很底,ruby服务器在 ... -
rexml 中增加CDATA
2011-10-14 14:14 2331最近想用ruby写个能生成 ... -
ruby处理未定义的方法
2010-10-08 17:52 1558关于未定义的方法,《ruby编程语言》上面说得比较詳細了,所以 ... -
rails3的删除问题
2010-08-25 00:38 1645Rails 3所做的很大一个改进就是:Unobtrusive ... -
ROR+mysql的中文问题
2010-08-24 15:28 2278环境: os: ubuntu 10.04 ru ... -
Ubuntu上搭建ruby1.9.2 on rails3rc
2010-08-20 13:34 2228linux的分支不同使用起来还是有很多差别的,最近想用一下比较 ... -
rails3之ActionController
2010-07-29 21:36 3617rails3中有许多变化,现 ... -
windows运行rails3
2010-07-29 11:19 3328虽然rails3的beta版已经出来很久了,但一直没正式版,最 ... -
ruby之enumerator
2010-07-22 00:25 3543由于版本的变更,1.8与1.9在许多地方是不一样的,API变化 ... -
ror中属性值存储的处理
2010-07-19 02:11 1306今天细看了quakewang的那 ... -
一个简单rails应用的开发过程
2010-07-03 16:06 1603基本环境: rails2.3.8 ruby ... -
windows 上使用mongrel
2010-06-30 19:04 2892由于ruby自带了一个webrick的嵌入式服务器,所以以前都 ... -
redmine 一个不错的ror开源项目管理系统
2010-06-30 01:19 2639学了一段时间的ruby,想做点东西,折腾了一下wxruby,但 ... -
ruby的时间与日期
2010-06-04 10:22 4359最近心情稍微好一点,正好现在难得的清闲,于是看了一下ruby的 ... -
ruby的模块
2010-05-20 17:16 1854模块的定义跟类非常相似,只是用module关键字取代class ... -
ruby方法
2010-05-19 15:29 1900没事做,写着玩的。不过ruby的block,proc,闭包或l ... -
ruby 创建基本的类
2010-05-18 11:15 1147由于ruby的语法很多,看 ... -
ruby编程题
2010-05-15 23:43 1814学了一段时间ruby后,又学了段时间python,学了pyth ...
相关推荐
Ruby on Rails入门权威经典,分享给大家,很少的资源
Ruby on Rails入门经典代码,非常适合新手学习使用
Ruby on Rails入门经典-例子,有很多rails工程实例。
RUBY ON RAILS入门经典 pdf 电子书 花钱买的和大家共享
Ruby on Rails入门培训,学习ruby 及rails 、ROR的入门宝典
入门级的,好像还没多少学,不太清楚这个语言
ruby on rails 入门教程 原书第二版, rails 3.2
ruby on rails基础入门,适合初级开发者或想了解的ruby on rails的开发者
Ruby on Rails 入门级简介 ,
程序 博文链接:https://zhangjingqiang.iteye.com/blog/47041
Ruby on Rails入门经典.rar
我读过很多 Rails 相关的书,但是这本真正让我入门了。书里的一切都很符合“Rails 之道”,我以前觉得这个道很不自然,但是读完这本书,感觉却是自然无比。本书也是唯一一本自始至终都是用测试驱动开发理念的 Rails ...
本资源是一套关于Ruby on Rails开发的全面教程,旨在帮助学习者从入门到精通掌握Ruby on Rails框架的开发技能。教程内容涵盖了Ruby语言基础、Rails框架搭建、Web应用开发、数据库操作、部署与维护等方面的知识。 ...
ruby on rails 入门级别教程,通过学习可以很快的搭建ror的服务器并运行起来
原文是Web版本,已经导出成PDF版本供大家查看。原版是英文版的《Ruby on Rails Tutorial》,特别适合有其他语言开发经验的Rails入门。
国外非常好的一本Ruby on Rails入门教程。文字清晰,代码彩色高亮,有目录,方便阅读。