新手问题 Rails 4.0 应用程序的目录结构

chinakr · 2013年07月19日 · 最后由 chinakr 回复于 2013年07月19日 · 4049 次阅读

应用程序根目录

Gemfile:应用程序的依赖关系配置 (gem)。修改后通过bundle install应用。

README.rdoc:应用程序说明,建议包括所用的 Ruby 版本,依赖关系,必要的配置,如何创建数据库,如何初始化数据库,如何运行测试套件,需要配置的服务 (工作队列、缓存服务器、搜索引擎等),如何部署,等等。

config/ - 配置文件

config/application.rbconfig/environment.rb:定制 Rails(覆盖默认惯例),不常用。

config/database.yml:数据库配置。

config/routes.rb:URL 路由配置。

config/environments/ - 应用程序环境配置

config/environments/development.rb:开发环境配置。

config/environments/test.rb:测试环境配置。

config/environments/production.rb:生产环境配置。

config/initializers/ - 设置应用程序初始值

config/initializers/i18n.rb:国际化支持设置,包括默认区域 (locale) 设置,所支持的语言。

config/locales/ - 区域设置

config/locales/en.yml:区域en的设置,包括语言 (提示信息、模型名称)、货币。

db/ - 数据库文件

db/schema.rb:自动生成的数据库结构,包括有哪些数据表、数据表有哪些字段、字段的类型和默认值等。

db/seeds.rb:自定义的种子数据,通过rake db:seed导入数据库。

db/development.sqlite3:开发用 SQLite3 数据库。

db/test.sqlite3:测试用 SQLite3 数据库。

db/migrate/:数据迁移 (migration) 文件,通过rake db:migrate应用,通过rake db:rollback回滚。应用和回滚针对的都是最新的数据迁移 (最后创建的)。

app/ - 应用程序主目录

app/models/:模型文件 (model)。

app/views/:视图文件 (view)。

app/controllers/:控制器文件 (controller)。

app/helpers/:视图和控制器的帮助方法文件 (helper)。

app/assets/:静态资源文件。包括 CSS(app/assets/stylesheets/)、JavaScript(app/assets/javascripts/) 和图片 (app/assets/images/)。

test/ - 测试文件

test/test_helper.rb:测试的帮助方法 (helper)。

test/models/:模型的单元测试文件。例如test/models/product_test.rb

test/controllers/:控制器的功能测试文件。例如test/controllers/products_controller_test.rb

test/integration/:使用流程的集成测试文件。例如test/integration/user_stories_test.rb

test/fixtures/:测试夹具文件 (fixture)。例如test/fixtures/products.yml

test/helpers/:测试帮助方法的测试文件。例如test/helpers/products_helper_test.rb

lib/ - 库文件

不适合放在模型、视图、控制器中的程序代码,常用的公共功能等。可以建立子目录,并把功能相关的代码文件可以放在同一个子目录下。

lib/tasks/:自定义 Rake 任务文件。定义后可以用rake db:task_name执行。

vendor/ - 第三方库文件

安装的插件就放在这里。

public/ - 静态文件

包括robots.txtfavicon.ico404.html500.html等。

log/ - 日志文件

log/development.log:开发环境日志文件。

log/test.log:测试环境日志文件。

bin/ - 可执行文件

常用命令railsrakebundle的可执行文件都在这里。

doc/ - 文档

doc/api/index.html:Rails 参考文档 (API reference),通过rake doc:rails生成。

doc/app/index.html:应用程序文档 (源代码索引),通过rake doc:app生成。

tmp/ - 临时文件

包括应用程序运行过程中生成的 pid、socket、session 和缓存文件。

匿名 #1 2013年07月19日

bin 那一段的 bundle 拼错了似乎……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号