📅  最后修改于: 2021-01-12 02:45:40             🧑  作者: Mango
脚手架是生产应用程序中某些主要部分的快速方法。为了通过一次操作为新资源自动生成一组模型,视图和控制器,使用了脚手架。
脚手架是MVC框架支持的一种技术,程序员可以在其中指定如何使用应用程序数据库。框架或编译器将其与预定义的代码模板一起使用,以生成最终代码,应用程序可使用该最终代码在数据库条目中执行CRUD,从而有效地将模板视为构建功能更强大的应用程序的“支架”。
支架发生在程序生命周期的两个不同阶段,即设计时间和运行时间。设计时脚手架会生成代码文件,这些代码文件以后可由程序员修改。运行时脚手架可即时生成代码。它允许对模板设计的更改立即反映在整个应用程序中。
Rails框架使脚手架变得流行。
当将行脚手架:model_name添加到控制器时,Rails将在运行时自动生成所有适当的数据接口。
也可以使用外部命令预先为支架生成Ruby代码,即rails生成支架model_name。生成的脚本将生成Ruby代码文件,应用程序可使用该文件与数据库进行交互。
从Rails 2.0开始,不再支持动态脚手架。
嵌套支架是为Rails 4.2和5生成一组完美工作的嵌套资源的命令。
特征
句法
要安装嵌套支架,请使用以下命令。
gem 'nested_scaffold'
要为发布资源生成支架,请输入以下命令:
rails generate scaffold Post name:string title:string content:text
脚手架生成器将在您的应用程序中使用一些文件夹构建多个文件。
将使用脚手架创建以下文件。
File | Purpose |
---|---|
db/migrate/20100207214725_create_posts.rb | Creates the post table in your database |
app/models/post.rb | The Post model |
test/unit/post_test.rb | Unit testing harness for posts model |
test/fixtures/posts.yml | Sample posts for use in testing |
config/routes.rb | Edited to include routing information for posts |
app/controllers/posts_controller.rb | The posts controller |
app/views/posts/index.html.erb | A view to display index of all posts |
app/views/posts/edit.html.erb | A view to edit an existing post |
app/views/posts/show.html.erb | A view to display a single post |
app/views/posts/new.html.erb | A view to create a new post |
app/views/posts/_form.html.erb | A partial to control the overall look and feel of the form used in edit and new views |
test/functional/post_controller_test.rb | Functional testing harness for posts controller |
app/helpers/posts_helper.rb | Helper functions to be used from the post views |
test/unit/helpers/posts_helper_test.rb | Unit testing harness for the posts helper |
app/assets/javascripts/posts.js.coffee | Coffee script for post controller |
app/assets/stylesheets/posts.css.scss | Cascading style sheet for post controller |
app/assets/stylesheets/scaffolds.css.scss | Cascading style sheet to make scaffolded views look better |
许多经验丰富的开发人员避免使用脚手架,而宁愿从头开始编写全部或大部分源代码。因为它的自动生成的代码可能不适合您的应用程序。
让我们用脚手架生成以下示例。
步骤1创建一个应用程序
rails new example
步骤2在示例应用程序中,创建MVC组件。
cd example
rails generate scaffold post title:string body:text
rails generate scaffold comment post_id:integer body:text
从上面的代码中,首先移至应用程序目录。
步骤3创建数据库表注释和post_id。
rake db:migrate
步骤4使用rake命令运行迁移。
rake routes
步骤5启动Web服务器
rails server
输出:
在浏览器中运行http:// localhost:3000 / posts。
转到新帖子
单击创建。
单击编辑。
单击更新。