`

ruby on rails入门基础

    博客分类:
  • ruby
阅读更多
最近有想学一下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文件:

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工程就完成了。
  • 大小: 30.4 KB
分享到:
评论

相关推荐

    Ruby on Rails入门权威经典

    总的来说,《Ruby on Rails入门权威经典》是一本内容丰富、实践性强的教程,它不仅教授了Ruby on Rails的基础知识,还提供了许多实用技巧和最佳实践,是初学者入门Rails的理想选择。通过阅读本书,读者不仅能学会...

    Ruby on Rails入门经典

    在Ruby on Rails入门经典中,你将学习到以下核心知识点: 1. **Ruby语言基础**:首先,你需要了解Ruby的基础语法,包括变量、数据类型(如字符串、整数、浮点数、数组、哈希)、控制结构(如条件语句if/else,循环...

    Ruby on Rails入门经典代码

    本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习Rails的宝贵资源,帮助初学者快速掌握这个强大的框架。 1. **Rails基础知识**: - MVC架构:Rails的核心设计模式,模型负责数据处理,视图负责展示,控制器...

    RUBY ON RAILS入门经典 pdf 电子书 花钱买的和大家共享

    RUBY ON RAILS入门经典 pdf 电子书 花钱买的和大家共享

    Ruby on Rails入门例子

    在"Ruby on Rails入门例子"中,我们可能会遇到以下关键概念: - **路由(Routes)**:Rails的路由系统将URL映射到特定的控制器动作,定义了应用的导航结构。在`config/routes.rb`文件中配置路由规则。 - **生成器...

    Ruby on Rails入门培训

    Ruby on Rails入门培训,学习ruby 及rails 、ROR的入门宝典

    Ruby on Rails入门经典-例子

    Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,使得开发者能够更快速地构建功能丰富的web...

    Ruby on Rails 入门经典教程

    《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 Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    ruby on rails for dummies

    总之,《Ruby on Rails for Dummies》是一本全面介绍Rails开发的入门书籍,无论你是编程新手还是想从其他语言转战Rails,都能从中获益匪浅。通过阅读和实践书中的例子,你将能够掌握构建现代Web应用所需的技能,并...

    ruby on rails入门

    ### Ruby on Rails 入门知识点详解 #### Rails简介与特性 **Rails** 是一种用于构建 Web 应用程序的开源框架,它使用 **Ruby** 编程语言编写而成。Rails 自发布以来,就以其优雅、高效及易于使用的特性受到开发者...

    Learn Ruby on Rails

    根据给定的文件信息,我们可以...综上所述,这份文件信息为我们展示了一本全面的Ruby on Rails入门书籍的轮廓,从介绍、到推广方式、再到详细的内容安排,为Ruby on Rails的学习者提供了一个从理论到实践的学习路径。

    Ruby on Rails 入门级简介

    ### Ruby on Rails 入门级简介 #### 一、Ruby on Rails 概述 **Ruby on Rails**(简称 Rails 或 RoR)是一种基于 Ruby 语言的 Web 应用框架,它采用了模型-视图-控制器(MVC)架构模式。Rails 由 David Heinemeier...

Global site tag (gtag.js) - Google Analytics