- 浏览: 458666 次
- 性别:
- 来自: 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 1606java开发的很多代码都是 ... -
ruby的require加载
2011-11-15 10:18 3266ruby没有像java那种严格的包管理机制,因此引用起来就有些 ... -
windows上使用mysql2
2011-11-14 14:47 1413想在windows上做ruby应该的可能很底,ruby服务器在 ... -
rexml 中增加CDATA
2011-10-14 14:14 2363最近想用ruby写个能生成 ... -
ruby处理未定义的方法
2010-10-08 17:52 1597关于未定义的方法,《ruby编程语言》上面说得比较詳細了,所以 ... -
rails3的删除问题
2010-08-25 00:38 1690Rails 3所做的很大一个改进就是:Unobtrusive ... -
ROR+mysql的中文问题
2010-08-24 15:28 2315环境: os: ubuntu 10.04 ru ... -
Ubuntu上搭建ruby1.9.2 on rails3rc
2010-08-20 13:34 2254linux的分支不同使用起来还是有很多差别的,最近想用一下比较 ... -
rails3之ActionController
2010-07-29 21:36 3661rails3中有许多变化,现 ... -
windows运行rails3
2010-07-29 11:19 3371虽然rails3的beta版已经出来很久了,但一直没正式版,最 ... -
ruby之enumerator
2010-07-22 00:25 3587由于版本的变更,1.8与1.9在许多地方是不一样的,API变化 ... -
ror中属性值存储的处理
2010-07-19 02:11 1342今天细看了quakewang的那 ... -
一个简单rails应用的开发过程
2010-07-03 16:06 1641基本环境: rails2.3.8 ruby ... -
windows 上使用mongrel
2010-06-30 19:04 2934由于ruby自带了一个webrick的嵌入式服务器,所以以前都 ... -
redmine 一个不错的ror开源项目管理系统
2010-06-30 01:19 2677学了一段时间的ruby,想做点东西,折腾了一下wxruby,但 ... -
ruby的时间与日期
2010-06-04 10:22 4403最近心情稍微好一点,正好现在难得的清闲,于是看了一下ruby的 ... -
ruby的模块
2010-05-20 17:16 1890模块的定义跟类非常相似,只是用module关键字取代class ... -
ruby方法
2010-05-19 15:29 1929没事做,写着玩的。不过ruby的block,proc,闭包或l ... -
ruby 创建基本的类
2010-05-18 11:15 1187由于ruby的语法很多,看 ... -
ruby编程题
2010-05-15 23:43 1868学了一段时间ruby后,又学了段时间python,学了pyth ...
相关推荐
总的来说,《Ruby on Rails入门权威经典》是一本内容丰富、实践性强的教程,它不仅教授了Ruby on Rails的基础知识,还提供了许多实用技巧和最佳实践,是初学者入门Rails的理想选择。通过阅读本书,读者不仅能学会...
在Ruby on Rails入门经典中,你将学习到以下核心知识点: 1. **Ruby语言基础**:首先,你需要了解Ruby的基础语法,包括变量、数据类型(如字符串、整数、浮点数、数组、哈希)、控制结构(如条件语句if/else,循环...
本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习Rails的宝贵资源,帮助初学者快速掌握这个强大的框架。 1. **Rails基础知识**: - MVC架构:Rails的核心设计模式,模型负责数据处理,视图负责展示,控制器...
RUBY ON RAILS入门经典 pdf 电子书 花钱买的和大家共享
在"Ruby on Rails入门例子"中,我们可能会遇到以下关键概念: - **路由(Routes)**:Rails的路由系统将URL映射到特定的控制器动作,定义了应用的导航结构。在`config/routes.rb`文件中配置路由规则。 - **生成器...
Ruby on Rails入门培训,学习ruby 及rails 、ROR的入门宝典
Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,使得开发者能够更快速地构建功能丰富的web...
《Ruby on Rails 入门经典教程》是一本旨在引导初学者轻松掌握Ruby on Rails框架的教程。Ruby on Rails,简称ROR,是基于Ruby语言的一个开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,以其简洁、...
### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...
总之,《Ruby on Rails for Dummies》是一本全面介绍Rails开发的入门书籍,无论你是编程新手还是想从其他语言转战Rails,都能从中获益匪浅。通过阅读和实践书中的例子,你将能够掌握构建现代Web应用所需的技能,并...
### Ruby on Rails 入门知识点详解 #### Rails简介与特性 **Rails** 是一种用于构建 Web 应用程序的开源框架,它使用 **Ruby** 编程语言编写而成。Rails 自发布以来,就以其优雅、高效及易于使用的特性受到开发者...
根据给定的文件信息,我们可以...综上所述,这份文件信息为我们展示了一本全面的Ruby on Rails入门书籍的轮廓,从介绍、到推广方式、再到详细的内容安排,为Ruby on Rails的学习者提供了一个从理论到实践的学习路径。
### Ruby on Rails 入门级简介 #### 一、Ruby on Rails 概述 **Ruby on Rails**(简称 Rails 或 RoR)是一种基于 Ruby 语言的 Web 应用框架,它采用了模型-视图-控制器(MVC)架构模式。Rails 由 David Heinemeier...