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 在数据库中创建发布表
app/models/post.rb 邮政模型
测试/单位/post_test.rb 职位模型的单元测试工具
测试/灯具/posts.yml 用于测试的示例帖子
config / routes.rb 编辑以包括帖子的路由信息
app/controllers/posts_controller.rb 职位控制器
app / views / posts / index.html.erb 显示所有帖子索引的视图
app / views / posts / edit.html.erb 编辑现有帖子的视图
app / views / posts / show.html.erb 显示单个帖子的视图
app / views / posts / new.html.erb 创建新帖子的视图
app / views / posts / _form.html.erb 部分控制编辑和新视图中使用的表单的整体外观
测试/功能/ post_controller_test.rb 职位控制器功能测试线束
app / helpers / posts_helper.rb 帖子视图中使用的辅助功能
test/unit/helpers/posts_helper_test.rb 帖子助手的单元测试工具
app / assets / javascripts / posts.js.coffee 邮政控制器的咖啡脚本
应用程序/资产/样式表/posts.css.scss 后期控制器的级联样式表
应用/资产/样式表/scaffolds.css.scss 级联样式表以使支架视图看起来更好

许多经验丰富的开发人员避免使用脚手架, 而更喜欢从头开始编写全部或大部分源代码。因为它的自动生成的代码可能不适合你的应用程序。


脚手架示例

让我们用脚手架生成以下示例。

步骤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。

Ruby On rails脚手架1

转到新帖子

Ruby On Rails脚手架2

单击创建。

Ruby On Rails脚手架3

单击编辑。

Ruby On Rails脚手架4

单击更新。

Ruby On Rails脚手架5

下载

下载此示例

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?