简述

通过脚手架可以方便的创建基本的结构(包括路由、migration、MVC、测试、assets、helper)

脚手架的example或是详细说明可以 rails g scaffold --help 查看

通过脚手架创建简单模型

  1. $> rails g scaffold article title:string body:text
  2. invoke active_record
  3. create db/migrate/20200327031316_create_articles.rb
  4. create app/models/article.rb
  5. invoke test_unit
  6. create test/models/article_test.rb
  7. create test/fixtures/articles.yml
  8. invoke resource_route
  9. route resources :articles
  10. invoke scaffold_controller
  11. create app/controllers/articles_controller.rb
  12. invoke erb
  13. create app/views/articles
  14. create app/views/articles/index.html.erb
  15. create app/views/articles/edit.html.erb
  16. create app/views/articles/show.html.erb
  17. create app/views/articles/new.html.erb
  18. create app/views/articles/_form.html.erb
  19. invoke test_unit
  20. create test/controllers/articles_controller_test.rb
  21. create test/system/articles_test.rb
  22. invoke helper
  23. create app/helpers/articles_helper.rb
  24. invoke test_unit
  25. invoke jbuilder
  26. create app/views/articles/index.json.jbuilder
  27. create app/views/articles/show.json.jbuilder
  28. create app/views/articles/_article.json.jbuilder
  29. invoke assets
  30. invoke coffee
  31. create app/assets/javascripts/articles.coffee
  32. invoke scss
  33. create app/assets/stylesheets/articles.scss
  34. invoke scss
  35. create app/assets/stylesheets/scaffolds.scss

注意输出日志的缩进。脚手架主要做了下面几件事

1、创建active_record的migrate文件、对应的模型文件、及模式测试单元

  1. invoke active_record
  2. create db/migrate/20200327031316_create_articles.rb
  3. create app/models/article.rb
  4. invoke test_unit
  5. create test/models/article_test.rb
  6. create test/fixtures/articles.yml

2、添加对应资源的路由方法

在config/routes.rb文件中添加

  1. invoke resource_route
  2. route resources :articles

3、添加对应资源的控制器、视图、及对应的测试单元

  1. invoke scaffold_controller
  2. create app/controllers/articles_controller.rb
  3. invoke erb
  4. create app/views/articles
  5. create app/views/articles/index.html.erb
  6. create app/views/articles/edit.html.erb
  7. create app/views/articles/show.html.erb
  8. create app/views/articles/new.html.erb
  9. create app/views/articles/_form.html.erb
  10. invoke test_unit
  11. create test/controllers/articles_controller_test.rb
  12. create test/system/articles_test.rb
  13. invoke helper
  14. create app/helpers/articles_helper.rb
  15. invoke test_unit
  16. invoke jbuilder
  17. create app/views/articles/index.json.jbuilder
  18. create app/views/articles/show.json.jbuilder
  19. create app/views/articles/_article.json.jbuilder

4、创建对应的样式及javascript脚本文件

  1. invoke assets
  2. invoke coffee
  3. create app/assets/javascripts/articles.coffee
  4. invoke scss
  5. create app/assets/stylesheets/articles.scss
  6. invoke scss
  7. create app/assets/stylesheets/scaffolds.scss

git@e.coding.net:ysllyfe-01/learn/learn.git