发布于 2026-01-06 0 阅读
0

应用组件:启动 Rails 应用所需的文件 🎋 项目浏览器

应用程序的组成部分:启动 Rails 应用程序所需的文件

🎋 项目探索器

从零开始搭建我的第一个 Rails 应用时,我最大的疑问之一就是:究竟需要哪些文件才能让它运行起来?它们各自有什么作用?它们之间是如何连接和关联的?大多数教程都会使用默认的脚手架来引导你快速上手,所以这一切对我来说都很陌生。

根文件

最值得注意的是,您的 Gemfile 文件就位于此处,它负责安装应用程序依赖的所有 gem 包。执行时,您的 Gemfile 文件还会生成一个 Gemfile.lock 文件。Gemfile.lock 文件专门用于管理 gem 包的版本。

这里还有其他一些值得注意的文件,例如您的 README.md 文件,它应该可以作为应用程序的入门指南。根目录下还有 Rakefile 文件。我以前(现在也是)很少使用 Rakefile,但您可以在这里加载要在命令行中执行的任务。不过,实际编写任务的操作应该在 lib/tasks 目录中进行。

/应用程序

这个文件夹是核心所在,几乎包含了构成我们应用程序的所有内容。它通常包含模型、视图和控制器等子文件夹,以及样式表等资源文件。由于我们目前为止的大部分学习时间都集中在这个文件夹的结构上,我认为我们已经很好地掌握了 /app 文件夹,可以继续进行下一步了。

/垃圾桶

这或许是我最困惑的文件夹。Rails脚手架生成器甚至都不包含这个文件夹,那我们为什么需要它呢?

简而言之,这个文件夹确保我们的代码在正确的环境中执行。位于 `/bin` 文件夹下的各个文件被称为binstubs,大多数默认的仓库和生成器都包含 bundle、rails、rake、spring 和 yarn 的 binstubs。您可能还记得需要运行类似 ` bundle install``rails s` 的命令。这样做实际上是告诉系统将您的 gem 和代码分别封装在 bundle 或 rails 环境中。

/config

Learn.Co 和许多其他教程也花了不少时间讲解这个文件夹。例如,我们所有的路由都定义在 ./config/routes.rb 文件中。/config 目录还包含数据库和环境等配置设置,这些设置在上面的 ./bin 目录中有所提及。

对于 Tillio,除了默认脚手架之外,我添加的唯一文件是 omniauth.rb,其中包含 Google OmniAuth 的构建器。

/db

再次强调,我相信大家通过之前的教程和实验都对 `./db` 目录相当熟悉,所以我会简单介绍一下。只需记住,所有迁移文件、种子数据和数据库架构都存放在这里。

/lib

理论上,这个文件夹用于存放应用程序中使用的任何扩展模块。然而,我目前还没有发现这个文件夹的实际用途,也没有在任何 Learn 代码库中看到它用于存放 .keep 文件以外的任何用途。

/民众

这个文件夹的名称已经说明了一切——这里的文件所有人都能看到,而且是原样显示。它可以用来存放静态页面和编译后的资源。在开发 Tillio 时,我只用这个文件夹存放标准错误页面,例如 404.html。

/spec

你好,rspec!这个文件夹用于行为驱动开发 (BDD),存放 rspec 生成的功能和模型测试单元的文件和文件夹。BDD 与 TDD 的区别在于,它考虑了最终用户的行为。尽管关于 rspec 和测试的争论很多,但 rspec 在 GitHub 上的数量是测试应用的五倍,并且是入门级职位招聘中的标准技能。

/测试

./test 是 Rails 自带的测试文件夹。它使用 Rails 用于 TDD(测试驱动开发)的 Test::Unit 框架。但是,由于我的训练营重点学习了 rspec 框架,而且我对 ./spec 文件夹也比较熟悉,所以我在 Tillio 应用的开发中仍然使用了 ./spec 文件夹。两种方式都可行!

/小贩

所有第三方代码都放在这里!

文章来源:https://dev.to/kfecho30/pieces-of-an-app-the-files-you-need-to-start-a-rails-app-hic