Ruby on Rails 教程之快速入门
一,简介
Ruby on Rails是一个框架,一个使Web 应用的开发、部署和维护变得更容易的框架。自从发布第一个版本以来, Rails 已经从一个默默无闻的玩具蜕变成了一种世界性的现象。它拿下了一个又一个的奖项,更重要的是,很多web2.0 应用都选择它作为基础框架。Rails 已经不再只是一小撮黑客推崇的时髦玩艺:很多跨国公司正在用它来开发自己的web 应用。
为什么会这样? 有几个方面的原因;首先,很多开发者已经对自己开发Web 应用所使用的技术深感厌倦。不管使用Java 、PHP 还是NET ,越来越多的开发者开始深切地感到:这些东西实在难用得要死。就在此时, Rails 从天而降,而且它要简单得多。光有简单是不够的。这些人都是专业的软件开发者,他们编写的是真实的网站应用,他们希望自己的产品经得起时间的检验,所以他们总是选择先进而专业的技术。这些开发者们深入研究了Rails ,并发现它不仅仅是一个快速开发网站的工具。
譬如说,所有的Rails应用都采用了“模型- 视图- 控制器” (Model-View-Controller,MVC) 架构。Java 开发者都很熟悉MVC 框架例如Tapestry 和struts 。但Rails 把MVC 贯彻得更彻底:当你用Rails开发时,每一块代码该放在什么地方都有一定之规,代码之间都按照规定的方式进行交互。从一开始, Rails 就已经帮你准备好了应用程序的骨架。专业的程序员总是给自己的代码编写测试。同样, Rails 也提供了这方面的支持。所有的Rails应用都天生内建了对测试的支持。当你开始增加功能时, Rails 就会自动帮你创建针对这项新功能的测试存根(stub) 。Rails框架让应用程序的测试变得更容易,因此, Rails 应用也更能够得到充分的测试。Rails 应用是用Ruby 编写的,这是一种现代的面向对象脚本语言。Ruby 很简洁,却又不致简练得难以理解。使用Ruby ,你可以自然而清晰地表述自己的想法,因此, Ruby 程序很容易编写,而且放上几个月之后也很容易读懂——这是非常重要的。
二,简单的列子
- 先说一下rails的“模型- 视图- 控制器” (Model-View-Controller) MVC架构,1979 年, Trygve Reenskaug 提出了一种开发交互式应用的全新架构。在他的设计方案中,应用程序被分为三类组件:模型、视图,以及控制器。可以用一张图来概况
这个三位一体的组合——模型、视图和控制器——构成了一个架构模式,那就是著名的MVC
创建一个rails应用(两种方式)
- rails框架自身的命令行工具
安装了Rails 框架之后,你同时也得到了一个新的命令行工具: rails 。这个工具可以用于构造每个新的Rails 应用程序。为什么我们需要这么一个工具——我是说,为什么不抄起最顺手的编辑器,从头开始编写应用程序的每行代码呢?呃……我们确实可以这样做,但Rails 可以在幕后变很多戏法,让我们只须做最少量的配置即可运行一个应用程序。为了让这些戏法能够生效, Rails 必须能够找到应用程序中的各种组件。正如我们稍后( 在第15.2 节“目录结构” ) 将会看到的,这就意味着我们必须创建某种固定的目录结构,并且将我们的代码放在合适的地方。rails 这个命令可以帮我们创建这一目录结构,并且生成一些标准的Rails 代码。现在,我们来创建第一个Rails 应用程序:打开shell 窗口,进入文件系统的某个地方——你希望将应用程序目录结构保存在那里的某个地方。在我们的例子中,我们将把项目创建在一个名为work 的目录之下。因此,我们在这个目录中用rails 令创建一个名为demo 的应用程序。在这里要加些小心:如果已经存在一个名叫 demo 的目录, rails 会询问你是否要覆盖已有的文件。
dave> cd work
work> rails demo
create
create app/controllers create app/helpers create app/models
: : :
create log/development.log
create log/test.log
上述命令创建了一个名为demo 的目录。进入这个目录,列出它的全部内容( 在Unix 中使
用ls 命令,在Windows 中使用dir 命令) ,你应该会看到这样的一堆文件和子目 录:
work> cd demo
demo> ls -p
README components/ doc/ public/ tmp/
Rakefile config/ lib/ script/ vendor/
app/ db/ log/ test/
突然面对那么多目录( 还有它们包含的文件) 也许会让你感到有点害怕,不过我们先别管它。现在,我们只需要用到其中两个:首先是app 目录,我们将在其中编写应用程序;然后是script 目录,其中包含了一些有用的工具脚本。让我们先从script 子目录看起。这里有一个名叫server 的脚本,它会启动一个独立运行的WEBrick14 服务器,我们新建的Rails 应用程序就将在其中运行。那么,在继续前进之前,我们先把刚才编写( 或者说生成) 的应用程序启动起来吧。
demo> ruby script/server
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2019-07-22 12:44:10] INFO WEBrick 1.3.1
[2019-07-22 12:44:10] INFO ruby 1.8.2 (2004-12-30) [powerpc-darwin8.2.0]
[2019-07-22 12:44:10] INFO WEBrick::HTTPServer#start: pid=10138 port=3000
2.使用ide工具创建
见下图使用RubyMine
选择左侧工具栏Appilcation,右侧可以设置项目存放地址,项目名称,sdk,rails版本,数据库 ,选择create
看见下面的信息就是创建成功
三,目录结构介绍
其实学习Ruby on Rails 的路线是很陡峭的,一开始或许会遇见很多困难,但是只要你渡过了困难相信我你会爱上ruby的,现在学习ruby方面的资料很少,建议大家使用 Mac ,Linux,或者 Ubuntu ,win10太容易产生奇奇怪怪的错误,win10可以使用win的子系统,在win商店就可以下载Ubuntu。
附送Rails框架社区学习网站:https://ruby-china.github.io/rails-guides/getting_started.html
Ruby on Rails 教程之快速入门相关推荐
- Tomcat 教程之快速入门
Tomcat 教程之快速入门 版本说明 本文使用 Tomcat 版本为 Tomcat 8.5.24. Tomcat 8.5 要求 JDK 版本为 1.7 以上. 简介 Tomcat 是什么 Tomca ...
- ArcGIS教程——ArcGIS快速入门
实例数据:https://pan.baidu.com/s/184wwCmWrJdb-qjxsT614EQ 密码:dowv ArcGIS for Desktop是一套完整的专业GIS应用程序,包含有Ar ...
- tensorflow2.0教程- Keras 快速入门
tensorflow2.0教程-tensorflow.keras 快速入门 Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/artic ...
- SWMM从入门到实践教程 03 快速入门案例的设施参数设置与批量设置
文章目录 1 雨量计 1.1 雨量计基础设置 1.2 雨量计数据来源 2 汇水区 2.1 参数讲解 2.2 设置结果 3 检查井 3.1 参数讲解 3.2 批量设置 4 管道 4.1 参数讲解 4.2 ...
- SWMM从入门到实践教程 02 快速入门案例的绘制
文章目录 1 建模准备 2 设置各类设施 2.1 添加雨量计 2.2 添加子汇水区(正方形) 2.3 绘制节点(圆形) 2.4 绘制管渠 2.5 添加排水口(三角形) 3 画面调节 1 建模准备 建模 ...
- esp8266灯上电闪一下_【零知ESP8266教程】快速入门2-点亮外部LED灯
[零知ESP8266教程]快速入门2-点亮外部LED灯 [复制链接] 一.工具原料 电脑,windows系统 ESP8266开发板 micro-usb线 LED灯1个 220Ω 电阻1个 面包板一个+ ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- Ruby on Rails教程(第4版) 13.55 undefined local variable or method `object'
Mac环境 Rails 5.1.4 ruby 2.4.1 bootstrap v3.3.7 ------------------坑区------------------- Ruby on Rails教 ...
- ruby on rails_最终的中级Ruby on Rails教程:让我们创建一个完整的应用程序!
ruby on rails 由Domantas G (By Domantas G) There are plenty tutorials online which show how to create ...
最新文章
- app如何打开了request url_手机日历app内如何打开节日提醒功能?支持提前提醒节日的云便签...
- 研究人员开发出最节能的 Wi-Fi 技术
- Redis中的Cluster总结
- idea会不定时闪屏_显示器闪屏什么原因
- html拖放数据库字段,HTML5 拖放(Drag 和 Drop)
- Html5结合JS实现浏览器全屏功能
- [html] 你认为一个好的布局应该是什么样的?有哪些需要注意的地方?
- LeetCode 575. 分糖果(set集合去重)
- franz ubuntu_重新审视Unix理念,持续测试,Franz,Gitbase,Python,Linux等
- TCP BBR - 如何安装、启动、停止BBR!
- hibernate 批量插入 Batch
- 文本比较算法Ⅸ——Primal-Dual算法
- Bootstrap导航条
- python播放音乐同步歌词_python实现简单实现歌词播放(有缺陷)
- 转胡一虎Blog:父亲是我生命中的永恒
- 【4】 脑部MRI图像肿瘤分类级别
- 碰到文件夹损坏咋解决?
- 5V的OVP过压保护IC,去掉不良率
- 物流订舱运输成本 广州力其
- OSG for Android实现VPB地形,倾斜影像与三维模型加载
热门文章
- 活动预告 | 2023 QCon 全球软件开发大会 - AI 基础架构论坛
- 谈谈集成显卡双2K/4K输出的那点事情
- java安装32位环境遇到的问题
- 通讯录模拟(数据结构+JavaFX)--注释详细
- 米联客fdma搭建单摄像头ov5640传输
- android安装文件类型,下列哪一种属于Android智能型移动装置上的安装文件类型( )...
- Centos7安装部署免费confluence wiki(知识库)详细操作步骤
- ajax阿贾克斯2019阵容,记住阿贾克斯2019的孩子们!他们杀死皇马尤文 这毕业季真痛...
- 能源管理系统与能源管理平台|瑜岿科技
- 《道俗即诗》- 夕梦叙