一,简介

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 程序很容易编写,而且放上几个月之后也很容易读懂——这是非常重要的。

二,简单的列子

  1. 先说一下rails的“模型- 视图- 控制器” (Model-View-Controller) MVC架构,1979 年, Trygve Reenskaug 提出了一种开发交互式应用的全新架构。在他的设计方案中,应用程序被分为三类组件:模型、视图,以及控制器可以用一张图来概况

这个三位一体的组合——模型、视图和控制器——构成了一个架构模式,那就是著名的MVC 

创建一个rails应用(两种方式)

  1. 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 教程之快速入门相关推荐

  1. Tomcat 教程之快速入门

    Tomcat 教程之快速入门 版本说明 本文使用 Tomcat 版本为 Tomcat 8.5.24. Tomcat 8.5 要求 JDK 版本为 1.7 以上. 简介 Tomcat 是什么 Tomca ...

  2. ArcGIS教程——ArcGIS快速入门

    实例数据:https://pan.baidu.com/s/184wwCmWrJdb-qjxsT614EQ 密码:dowv ArcGIS for Desktop是一套完整的专业GIS应用程序,包含有Ar ...

  3. tensorflow2.0教程- Keras 快速入门

    tensorflow2.0教程-tensorflow.keras 快速入门 Tensorflow 2.0 教程持续更新: https://blog.csdn.net/qq_31456593/artic ...

  4. SWMM从入门到实践教程 03 快速入门案例的设施参数设置与批量设置

    文章目录 1 雨量计 1.1 雨量计基础设置 1.2 雨量计数据来源 2 汇水区 2.1 参数讲解 2.2 设置结果 3 检查井 3.1 参数讲解 3.2 批量设置 4 管道 4.1 参数讲解 4.2 ...

  5. SWMM从入门到实践教程 02 快速入门案例的绘制

    文章目录 1 建模准备 2 设置各类设施 2.1 添加雨量计 2.2 添加子汇水区(正方形) 2.3 绘制节点(圆形) 2.4 绘制管渠 2.5 添加排水口(三角形) 3 画面调节 1 建模准备 建模 ...

  6. esp8266灯上电闪一下_【零知ESP8266教程】快速入门2-点亮外部LED灯

    [零知ESP8266教程]快速入门2-点亮外部LED灯 [复制链接] 一.工具原料 电脑,windows系统 ESP8266开发板 micro-usb线 LED灯1个 220Ω 电阻1个 面包板一个+ ...

  7. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  8. 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教 ...

  9. ruby on rails_最终的中级Ruby on Rails教程:让我们创建一个完整的应用程序!

    ruby on rails 由Domantas G (By Domantas G) There are plenty tutorials online which show how to create ...

最新文章

  1. app如何打开了request url_手机日历app内如何打开节日提醒功能?支持提前提醒节日的云便签...
  2. 研究人员开发出最节能的 Wi-Fi 技术
  3. Redis中的Cluster总结
  4. idea会不定时闪屏_显示器闪屏什么原因
  5. html拖放数据库字段,HTML5 拖放(Drag 和 Drop)
  6. Html5结合JS实现浏览器全屏功能
  7. [html] 你认为一个好的布局应该是什么样的?有哪些需要注意的地方?
  8. LeetCode 575. 分糖果(set集合去重)
  9. franz ubuntu_重新审视Unix理念,持续测试,Franz,Gitbase,Python,Linux等
  10. TCP BBR - 如何安装、启动、停止BBR!
  11. hibernate 批量插入 Batch
  12. 文本比较算法Ⅸ——Primal-Dual算法
  13. Bootstrap导航条
  14. python播放音乐同步歌词_python实现简单实现歌词播放(有缺陷)
  15. 转胡一虎Blog:父亲是我生命中的永恒
  16. 【4】 脑部MRI图像肿瘤分类级别
  17. 碰到文件夹损坏咋解决?
  18. 5V的OVP过压保护IC,去掉不良率
  19. 物流订舱运输成本 广州力其
  20. OSG for Android实现VPB地形,倾斜影像与三维模型加载

热门文章

  1. 活动预告 | 2023 QCon 全球软件开发大会 - AI 基础架构论坛
  2. 谈谈集成显卡双2K/4K输出的那点事情
  3. java安装32位环境遇到的问题
  4. 通讯录模拟(数据结构+JavaFX)--注释详细
  5. 米联客fdma搭建单摄像头ov5640传输
  6. android安装文件类型,下列哪一种属于Android智能型移动装置上的安装文件类型( )...
  7. Centos7安装部署免费confluence wiki(知识库)详细操作步骤
  8. ajax阿贾克斯2019阵容,记住阿贾克斯2019的孩子们!他们杀死皇马尤文 这毕业季真痛...
  9. 能源管理系统与能源管理平台|瑜岿科技
  10. 《道俗即诗》- 夕梦叙