专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

Ruby on Rails是什么

来源:小嗨整编  作者:小嗨  发布时间:2023-08-17 09:37
摘要:RubyonRails(官方简称为Rails,亦被简称为RoR)是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。RubyonRai...

Ruby on Rails(官方简称为 Rails,亦被简称为 RoR)是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。

Ruby on Rails是什么

Ruby on Rails(官方简称为 Rails,亦被简称为 RoR),是一个使用 Ruby 语言写的开源 Web 应用框架,它是严格按照 MVC 结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。 Rails 的设计原则包括“不做重复的事”和“惯例优于设置” 。

Ruby on Rails 是一种结合 Ruby 语言与 Rails 平台的一种网页程序框架,Ruby 语言以自然、简洁、快速著称,全面支持面向对象程序设计,而 Rails 则是 Ruby 广泛应用方式之一,在 Rails 平台上设计出一套独特的 MVC 开发架构,采取模型(Model)、视图(View)、控制器(Controller)分离的开发方式,不但减少了开发中的问题,更简化了许多繁复的动作。

历史

于 2004 年 7 月,Rails 的创始人大卫·汉森从 37signals 公司的项目管理工具 Basecamp 里面分离出 Ruby on Rails,并且以开源方式发布。

Rails 在发布以后的短短的时间内就迅速获得很多开发人员欢迎,大卫认为这归功于 Rails 设计为 opinionated software。Rails 当中有很多规矩从一开始就按照 David 的意见制定好了,所以在 Rails 上开发应用程序时,开发人员可以专注于应用程序自身的设计,省却那些花在了解及配置基础框架上面的时间。这也正是 Rails 很重要的精神“约定优于配置”,开发人员遵照 Rails 本身的惯例便可以省却配置配置文件的时间;此外,Rails 虽然强调惯例的重要及便利性,但针对不同的需求,Rails 也提供修改的空间让开发人员可以进行自定义的配置。

Rails 的 MVC 架构

Ruby on Rails 的模型-视图-控制器架构由以下各部分组成:

模型

模型包含着应用的状态,状态可能是临时的也可能是长久性保存在数据库中的。需要注意的是模型不仅包含数据,而且包含数据代表的逻辑。在 Rails 中,模型通常是由一些代表关系数据库中 RDBMS 表的类组成的。

在 Rails 中,模型类是通过 Active Record 模式进行处理的。一般来说,程序员要做的是继承 ActiveRecord 类,同时程序会自动计算出要使用哪个 RDBMS 表,这个表有哪些列。表与表之间的关系通过简单的命令来指明。

视图

View 负责根据 Model 中的数据显示用户界面。作为 web 应用,Rails 里的 View 通常是生成整个或者部分网页。当然可以是 XML 或者甚至是 JavaScript 代码。表现为使用内嵌 Ruby 的 HTML/XML/JavaScript 模板。

控制器

控制器将用户界面和数据模型关联起来,并充当协调运作的角色。它接收各种用户操作,更新数据模型,并用合适的 view 展示结果给用户。像他的名字一样,可以说应用的主要控制中心就是各个控制器。

Rails 中的 AJAX

AJAX(异步 JavaScript 与 XML)是一种异步传输接口,可以借由浏览器使用 JavaScript 和 XML 或其他数据格式来处理传输请求,而将 Web 服务器作为后台来处理,这样无须加载额外的网页。Rails 内置有 Prototype 包来实现这个技术。Ajax 已经和 Ruby on Rails 结合在了一起成为了一个新的系统叫做“Ajax on Rails”。Rails 提供一些助手工具来更方便地实现 AJAX 应用。 Rails 提供了一些 Helper,可以在服务器一端用纯 Ruby 语言生成给浏览器用的 JavaScript 代码,从而让 Rails 的开发者不需掌握 JavaScript 就可以简单方便的开发出 AJAX 的应用。

Rails 和 Web 服务

稍早的版本的 Rails 中提供了 ActionWebService 作为开发 XML-RPC 和 SOAP 的 web 服务的基础。但是最近的 Rails 1.2 更加倾向于是用 REST 方式的 web 服务,而 ActionWebService 在 Rails 2.0 中作为 plugin 而不再是 rails 核心的一部分。

Web 服务器支持

对于开发和测试来说,一个很轻量的 WEBrick 网页服务器已经被包含在了 Ruby 中,常被用来作为应用服务器。而对于生产应用,常推荐使用带 FastCGI 的 Apache 或者 Lighttpd,但任何支持 CGI 或者 FastCGI 的网页服务器都可以使用。在 Apache 上,mod_ruby 也可以考虑用来提高性能。

数据库支持

使用 Rails 的架构开发网络应用一般都使用数据库,所以推荐使用一个关系数据库系统来进行数据存储,若不能运行一个关系数据库服务器,Rails 支持嵌入式数据库 SQLite。Rails 还支持关系数据库系统,包括 MySQL、PostgreSQL、IBM DB2、Oracle 和 SQL Server。

系统要求Ruby 语言Web 服务器,如 Apache、lighttpd 等FastCGI,或者 Mongrel 为了提高效率数据库和驱动程序集成开发环境

开发用的 IDE 有:Eclipse,MyEclipse,NetBeans,RubyMine,Aptana,Sublime Text,Visual Studio Code


本文地址:IT问答频道 https://www.eeeoo.cn/itwenda/1028326.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


IT问答
小编:小嗨整编
相关文章相关阅读
  • 魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?在魔兽世界中,泰兰德是魔兽世界中暗夜精灵种族的代表性角色,她以牧师职业为主。牧师在游戏中拥有强大的治疗和辅助能力,是团队中不可或缺的重要角色。泰兰德作为一名牧师,擅长使用圣光和暗影之力...

  • 睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?随着科技的发展,越来越多的睡眠APP走进了我们的生活。它们通过科学的原理和实用的功能,帮助人们改善睡眠质量,缓解压力。本文将为您盘点几款热门的睡眠APP。睡眠app哪个好用1.小睡眠小睡眠是一款备...

  • 梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?据悉,梦幻西游嘉年华2024的首场活动已经在2024年1月12日19:30正式开启,为广大玩家带来了一场名为“惊喜宝藏夜”的狂欢盛宴。在这次活动中,不仅有重量级嘉宾的精彩表演,梦幻开发组的...

  • dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?在dnf中,卢克西并不是一个职业,而是一套装备的名称。卢克西三件套是专为鬼剑士职业设计的装备套装,尤其适合那些依赖觉醒技能输出的角色。卢克西三件套的具体装备包括以下三件:1.卢克西的灵魂狂气...

  • win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?当我们购买一台安装了Windows系统的电脑时,通常会发现系统处于未激活状态。这不仅会影响电脑的正常使用,还可能引发安全风险。因此,理解Windows系统激活的重要性,并学会如何进行系统...

  • 推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?简单来说,推广引流app就是利用各种渠道,将一款应用程序(App)推广给潜在用户,吸引他们下载并使用。推广app赚佣金平台有哪些1:U客直谈想要从事地推app拉新行业,U客直谈建议深入了解...

  • 绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?

    绝地求生自瞄怎么用(绝地求生自瞄是什么原理)?绝地求生自瞄,顾名思义,就是游戏中的一种自动瞄准功能。使用自瞄外挂的玩家在游戏中,当遇到敌人时,瞄准器会自动锁定目标,玩家只需按下射击键即可轻松击杀敌人。这种外挂严重破坏了游戏的平衡,对其他玩家...

  • dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?

    dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?

    dnf精灵骑士是什么职业(dnf精灵骑士技能加点)?在dnf中,精灵骑士作为守护者职业的一员,以其独特的技能和风格备受玩家喜爱。下面我们来详细了解一下精灵骑士的技能加点方法。精灵骑士是DNF中的守护者职业之一,属于物理百分比纯C职业,拥有强...

  • 周排行
  • 月排行
  • 年排行

精彩推荐