📜  Ruby on Rails-目录结构

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


使用Rails帮助程序脚本创建应用程序时,它将为应用程序创建整个目录结构。 Rails知道在此结构中可以在哪里找到所需的东西,因此您无需提供任何输入。

这是在创建应用程序时由帮助程序脚本创建的目录树的顶级视图。除了版本之间的微小更改外,每个Rails项目都将具有相同的结构,相同的命名约定。这种一致性为您提供了巨大的优势。您可以在Rails项目之间快速移动而无需重新学习项目的组织。

要了解此目录结构,让我们使用在“安装”一章中创建的演示应用程序。可以使用简单的helper命令rails demo创建它。

现在,进入演示应用程序的根目录,如下所示:

tp> cd demo
demo> dir

您将在Windows中找到如下目录结构-

目录

现在让我们解释每个目录的用途

  • app-它组织您的应用程序组件。它具有保存视图(视图和帮助器),控制器(控制器)和后端业务逻辑(模型)的子目录。

  • app / controllers-控制器子目录是Rails用来查找控制器类的目录。控制器处理来自用户的Web请求。

  • app / helpers -helpers子目录包含用于帮助模型,视图和控制器类的所有帮助器类。这有助于使模型,视图和控制器代码保持较小,集中和整洁的状态。

  • app / models -models子目录包含用于对存储在我们应用程序数据库中的数据进行建模和包装的类。在大多数框架中,应用程序的这一部分可能变得非常凌乱,繁琐,冗长且容易出错。 Rails使它变得简单!

  • app / view -views子目录保存显示模板,以填充来自我们应用程序的数据,转换为HTML,然后返回用户的浏览器。

  • app / view / layouts-包含用于视图的布局的模板文件。这为包装视图的通用页眉/页脚方法建模。在您的视图中,使用 layout:default 定义布局,并创建一个名为default.html.erb的文件。在default.html.erb内部,调用<%yield%>以使用此布局呈现视图。

  • 组件-该目录包含组件,捆绑了模型,视图和控制器的小型独立应用程序。

  • config-此目录包含应用程序所需的少量配置代码,包括数据库配置(在database.yml中),Rails环境结构(environment.rb)和传入Web请求的路由(routes.rb)。您还可以使用环境目录中的文件来定制三个Rails环境的行为,以进行测试,开发和部署。

  • db-通常,您的Rails应用程序将具有访问关系数据库表的模型对象。您可以使用创建并放置在该目录中的脚本来管理关系数据库。

  • doc -Ruby有一个名为RubyDoc的框架,可以自动为您创建的代码生成文档。您可以帮助RubyDoc在代码中添加注释。该目录包含所有RubyDoc生成的Rails和应用程序文档。

  • lib-您将库放在这里,除非它们明确地属于其他地方(例如供应商库)。

  • 日志-错误日志转到此处。 Rails创建脚本来帮助您管理各种错误日志。您将找到服务器(server.log)和每个Rails环境(development.log,test.log和production.log)的单独日志。

  • public-与Web服务器的public目录一样,此目录包含不变的Web文件,例如JavaScript文件(public / javascript),图形(public / images),样式表(public / stylesheets)和HTML文件(上市)。

  • 脚本-该目录包含用于启动和管理与Rails一起使用的各种工具的脚本。例如,有一些脚本可以生成代码(生成)并启动Web服务器(服务器)。

  • 测试-您编写的测试以及Rails为您创建的测试都在这里。您将看到一个用于模拟(模拟),单元测试(单元),固定装置(夹具)和功能测试(功能性)的子目录。

  • tmp -Rails使用此目录保存临时文件以进行中间处理。

  • 供应商-第三方供应商提供的库(例如基本Rails发行版之外的安全性库或数据库实用程序)在此处。

除了这些目录,demo目录中还将有两个文件可用。

  • 自述文件-该文件包含有关Rail Application的基本详细信息以及上述目录结构的描述。

  • Rakefile-该文件类似于Unix Makefile,它有助于构建,打包和测试Rails代码。随Ruby安装一起提供的rake实用程序将使用它。