windows下Ruby on rails 学习笔记

一、知识概要

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、PostgreSQLSQLiteOracleSQL ServerDB2、或其他任何我们支持的系统。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,查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,275评论 25 707
  • 快开始上班了,接下来的日子该更有意义一点,因为有目标。以后每天晚饭吃一个叶酸,但愿今年能如愿怀上二胎,同时还完房贷...
    云牵阅读 121评论 0 0
  • 李小白: 新丝路时尚集团创始人、名誉董事长 2016中国马拉松年度人物 2016年完成世界马拉松六大满贯 2017...
    lele42195阅读 355评论 0 0