📜  Ruby on Rails 2.1-框架

📅  最后修改于: 2020-10-20 05:12:20             🧑  作者: Mango


框架是为您编写大多数应用程序的程序,程序集和/或代码库。使用框架时,您的工作是编写应用程序的各个部分,以使其能够执行所需的特定操作。

着手编写Rails应用程序时,撇开配置和其他家务琐事,您必须执行三个主要任务-

  • 描述和建模应用程序的域-域是应用程序的整体。域可以是音乐商店,大学,约会服务,地址簿或硬件清单。因此,您必须弄清楚其中的内容,该Universe中存在哪些实体以及其中的项目如何相互关联。这等效于对数据库结构进行建模以保留实体及其关系。

  • 指定在此域中可能发生的事情-域模型是静态的。您必须使其动态。可以将地址添加到地址簿中。乐谱可以从音乐商店购买。用户可以登录约会服务。学生可以在大学注册课程。您需要确定域元素可以参与的所有可能的方案或操作。

  • 选择和设计域的公共可用视图-此时,您可以开始使用Web浏览器术语进行思考。一旦确定您的域中有学生,并且他们可以注册课程,您就可以想象一个欢迎页面,注册页面或确认页面等。这些页面或视图中的每一个都向用户显示用户的情况。某一点。

基于以上三个任务,Ruby on Rails处理了一个Model / View / Controller(MVC)框架。

Ruby on Rails MVC框架

M奥德尔V IEWÇontroller原则分歧的应用程序的工作分成三个独立而又密切的合作子系统。

模型(ActiveRecord)

维护对象和数据库之间的关系,并处理验证,关联,事务等。

该子系统在ActiveRecord库中实现,该库提供了关系数据库中的表与操作数据库记录的Ruby程序代码之间的接口和绑定。

Ruby方法名称是根据数据库表的字段名称自动生成的。

Active Record还提供基于动态属性的查找器和许多其他帮助器方法,这些方法使数据库交互变得容易且高效。

视图(ActionView)

它是一种特定格式的数据表示,由控制器决定呈现数据触发。它们是基于脚本的模板系统,例如JSP,ASP,PHP,并且非常易于与AJAX技术集成。

该子系统在ActionView库中实现,该库是基于嵌入式Ruby(ERb)的系统,用于定义用于数据表示的表示模板。与Rails应用程序的每个Web连接都会导致视图的显示。

ActionView有助于将演示文稿的详细信息与应用程序的核心业务逻辑分开。

控制器(ActionController)

应用程序中用于引导流量的工具,一方面查询模型中的特定数据,另一方面将数据组织(搜索,分类,按摩)成适合给定视图需求的形式。

该子系统是在ActionController中实现的,ActionController是位于ActiveRecord(数据库接口)和ActionView(表示引擎)之间的数据代理。

MVC框架的表示

这里给出了Ruby on Rails Framework的图形表示-

Rails框架

MVC框架的目录表示

假设在Linux上进行了标准的默认安装,则可以这样找到它们-

tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls

您将看到包括(但不限于)以下内容的子目录-

  • 动作包
  • activerecord-xyz
  • Rails-xyz

在Windows安装中,您可以这样找到它们-

C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir

您将看到包括(但不限于)以下子目录:

  • 动作包
  • activerecord-xyz
  • Rails-xyz

ActionView和ActionController在ActionPack下捆绑在一起。

ActiveRecord提供了一系列编程技术和快捷方式,用于处理SQL数据库中的数据。 ActionController和ActionView提供了用于处理和显示该数据的工具。 Rails将它们捆绑在一起。