📜  Ruby on Rails脚手架

📅  最后修改于: 2021-01-12 02:45:40             🧑  作者: Mango

Ruby on Rails脚手架

脚手架

脚手架是生产应用程序中某些主要部分的快速方法。为了通过一次操作为新资源自动生成一组模型,视图和控制器,使用了脚手架。

脚手架是MVC框架支持的一种技术,程序员可以在其中指定如何使用应用程序数据库。框架或编译器将其与预定义的代码模板一起使用,以生成最终代码,应用程序可使用该最终代码在数据库条目中执行CRUD,从而有效地将模板视为构建功能更强大的应用程序的“支架”。

支架发生在程序生命周期的两个不同阶段,即设计时间和运行时间。设计时脚手架会生成代码文件,这些代码文件以后可由程序员修改。运行时脚手架可即时生成代码。它允许对模板设计的更改立即反映在整个应用程序中。

脚手架

Rails框架使脚手架变得流行。

当将行脚手架:model_name添加到控制器时,Rails将在运行时自动生成所有适当的数据接口。

也可以使用外部命令预先为支架生成Ruby代码,即rails生成支架model_name。生成的脚本将生成Ruby代码文件,应用程序可使用该文件与数据库进行交互。

从Rails 2.0开始,不再支持动态脚手架。

嵌套脚手架

嵌套支架是为Rails 4.2和5生成一组完美工作的嵌套资源的命令。

特征

  • 使用单个命令生成嵌套的子资源
  • 生成一堆精美的代码
  • 自动为ActiveRecord生成适当的模型关联
  • 哈姆准备好了

句法

要安装嵌套支架,请使用以下命令。

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。

转到新帖子

单击创建。

单击编辑。

单击更新。

下载