一、知识概要
1.Ruby简介
(1)Ruby是一种开源的面向对象程序设计的服务器端脚本语言,与很python接近,但更为简洁优雅;
(2)Ruby 是一种通用的、解释的、真正的面向对象编程语言,也是一种类似于 Python 和 Perl 的服务器端脚本语言;
(3)Ruby 可以用来编写通用网关接口(CGI)脚本,也可以被嵌入到超文本标记语言(HTML)。
(4)Ruby 语法简单,有丰富的内置函数,可以直接在 Ruby 脚本中使用这使得新的开发人员能够快速轻松地学习 Ruby。,
(5)Ruby 可扩展性强,用 Ruby 编写的大程序易于维护;
(6) Ruby可用于开发的 Internet 和 Intranet 应用程序。
(7)ruby三原则及优点:
一切都是对象;
每一个操作都是调用方法;
所有的编程都是元模型 (类和方法可以在任何时候添加或改变;即使程序已经运行;动态类型,对象有类型,而变量没有)。
2.Rails
不同于已有复杂的Web开发框架,Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整),是一个更符合实际需要而且更高效的Web开发框架。
3.Ruby on Rails
Ruby on Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。
Ruby On Rails是一个用于编写网络应用程序的软件包.它基于一种计算机软件语言Ruby,给程序开发人员提供了强大的框架支持.你可以用比以前少的多的代码和 短的多的时间编写出一流的网络软件。
Ruby On Rails的指导原则是”不要重复你自己”(Don’t Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成 了很大的代价.相反,Ruby On Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能.而且,Rails提供了代码生成工具,让你甚至不需要编写一行代码 就实现强大的管理程序.
Ruby On Rails通过reflection和runtime extension减少了对configuration文件的依靠,这和Java,C#语言的方向有很大不同,让你减少了很多配置和部署的麻烦,但是性能上却完全可以应付一般网站的需求.
Rails 支持各类网络服务器和数据库。在服务器方面,我们推荐Apache、 lighttpd 或 nginx 代理至 Mongrel (或者使用FastCGI)。数据库方面,你可以采用MySQL、PostgreSQL、SQLite、Oracle、SQL Server、DB2、或其他任何我们支持的系统。Rails可以在各类操作系统上运行,不过我们建议采用基于unix的系统进行开发。
二、安装Ruby
1、官网rubyInstaller下载ruby应用程序
2.双击已下载的ruby应用程序,安装ruby
3.打开CMD,输入ruby -v 验证是否安装成功
三、下载并安装Rails
先在命令行输入gem install rails安装rails,安装完成后输入ruby -v 验证是否安装成功。
出现如下错误提示
所以安装rails前需安装DevKit。
四、下载并安装DevKit
DevKit 是windows平台下编译和使用本地C/C++扩展包的工具,用来模拟Linux平台下的make, gcc, sh来进行编译。这个方法目前仅支持通过RubyInstaller安装的Ruby。
1、下载Devkit
2.安装Devkit
1) 将下载 的DevKit 解压到 某个新建文件夹下(如:D:\Ruby\DevKit):
2) 打开 CMD 窗口,进入 D:\Ruby\DevKit目录,输入ruby dk.rb init 。#生成config.yml,这里会检查将要添加DevKit支持的Ruby列表,只支持通过RubyInstaller安装的Ruby。
3) 输入 ruby dk.rb install #开始安装
4) 输入 ruby dk.rb review #检查要添加DevKit支持的Ruby列表是否有误,可以略过
5) 输入 gem install rdiscount --platform=ruby 。#这一步只是验证DevKit是否安装成功,如果能安装rdiscount成功说明安装DevKit成功,也可以不做。
3.再按“步骤二”安装rails
五、安装RubyMine用于编写和查看rails创建的项目代码
RubyMine 是一个全新的为Ruby 和 Rails开发者准备的 IDE (非开源且收费),RubyMine由 JetBrains 开发(JetBrains最著名的产品之一就是Java IDE:IntellJ IDEA了!)。RubyMine是建立在IntellJ IDEA平台之上,提供所有必须的IDE功能,比如编辑,调试工具,源代码控制集成,代码自动提示完成,以及其他功能。专门为ruby打造的功能有基于 GUI 支持的 RSpec 和 Test::Unit。
1.官网Download RubyMine下载RubyMine
2.双击下载的RubyMime.exe安装RubyMime
3.打开安装好的RubyMine
六、创建空的rails网页框架
1、创建一个新文件夹(如:D:\Ruby\Project)用于存放rails项目文件,打开CMD提示窗口,进入D盘的Project文件夹,输入指令:rails new ruby,会在Project文件夹下将创建名称为ruby的rails项目结构。
2.在命令行下转到项目目录,运行:rails server 启动服务
打开浏览器输入http://127.0.0.1:3000就可以看到初始化页面了:
3.让Rails说 "Hello"
Rails是一个MVC框架,Rails接收来自浏览器的请求,对请求进行解读以找到合适的控制器,再调用控制器中合适的方法。然后,控制调用合适的视图,把结果显示给用户。Rails提供了快速创建视图和控制的方法,打开CMD命令窗口。进入到刚才的www项目目录,输入命令:rails generate controller say hello 如图:
打开网页http://localhost:3000/say/hello,若出现异常
则用RubyMine打开rails项目,按网页错误提示路径打开异常代码,将错误部分注释掉或者删除,如下:
在CMD输入重新启动Server
也可以直接在RubyMine的命令行窗口输入rails Server启动Server,
打开http://localhost:3000/say/hello:
七、创建一个使用MySQL数据库的Rails项目
1.打开CMD窗口,进入自定的项目保存目录(如:D:\Ruby\Project),输入命令:rails new work --database《使用的数据库》(如:rails new work --databasemysql),在project目录下创建名称为work 的rails 项目结构。
2. 必须将数据库lib目录里的libmysql.dll库拷贝到 Ruby安装目录的Bin目录下。否则在启动服务器时候会提示:“没有找到LIBMYSQL.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”
可以使用mysql-connector,下载地址:
http://www.mysql.com/downloads/connector/c/
或者wampServer,下载地址:
http://download.csdn.net/detail/heshi_yao/8874515?locationNum=3&fps=1
我最终使用的是wampServer的mysql里的libmysql.dll。
wampServer安装可参考wampserver安装笔记
先打开wampserver连接数据库,在启动Server,后打开http://127.0.0.1:3000/,如下:
3).修改数据库的配置信息。在 /项目目录/config/database.yml 文件中,分别对应 “开发”、“测试”,“生产” 数据库的配置,把他们修改为自己的配置。
其中development是我们开发中要实际使用的数据库。一定要注意在username: 和 password: 后面至少要保留一个空格。
4.在CMD窗口输入rake db:craete 命令,会在msyql 中创建由配置信息中所设置的数据库。
5.我们用scaffold来生成代码,在CMD中输入下面指令:
rails generate scaffold post title:string body:string addTime:datetime
这时候会创建controller, views, models和数据库脚本,但此时还没有创建表。
再输入:rake db:migrate 创建表。完成。
6.执行命令rails server,打开网页http://localhost:3000/posts 访问页面已经生成的增删改查代码,可能出现异常:
解决方法,安装node.js.再重启Server。
Node.js安装笔记
后通过浏览器访问:http://localhost:3000/posts 这个页面已经为我们生成了增删改查代码
7)把你的rails网站启动在端口888上
rails s -p 888
可以看到http://localhost:3000/posts变成了http://localhost:888/posts才能打开网页:
点击New Post
输入信信息,点击back,查看