Ruby on Rails中的“scaffold”是什么意思?

32
我正在学习一份指南,其中提到了“scaffold(脚手架)”,但我不理解它是什么。
它是否类似于内置框架?
6个回答

43

请查看Rails指南来了解详细信息。

Rails脚手架是一种快速生成应用程序主要组成部分的方法。如果你想在单个操作中为新资源创建模型、视图和控制器,那么脚手架就是这项工作的工具。


1
我认为链接可能已经过时了(因为页面上没有出现“脚手架”一词)- 它是否已经移动了? - stevec
@user5783745 或许可以在这里找到 https://guides.rubyonrails.org/v3.2.8/getting_started.html#getting-up-and-running-quickly-with-scaffolding - Mayuresh Srivastava

12

Ruby on Rails中的脚手架指的是自动生成一个包含一个模型、视图和控制器的简单集合,通常用于单个表格。

例如:

user@localhost$ ./scripts/generate scaffold users

将为Users数据表创建一个完整的CRUD(增删改查)Web界面。当然,诸如密码哈希、上传图片等功能未被处理,必须添加到自动生成的代码中。


7
在 Rails 3.2 中,当你在终端中输入以下命令,位于你的 Rails 应用程序文件夹内:
rails generate scaffold User
  • "User"这一部分可以是您选择的任何名称...

  • 它为您的CRUD(创建、读取、更新、删除)创建了所有结构。

  • 在此创建中,它包括控制器、模型和视图,每个CRUD部分的视图(创建、读取、更新、删除),

  • 以及其中的代码,让您开始使用CRUD(创建、读取、更新、删除)。

  • 相比自己编写所有内容,这样做要容易得多,可以节省您大量时间!


6
我也在学习Ruby On Rails,以下是我的理解:
  • 每个脚手架都是应用程序中的一个对象,用户将与之交互。用户可以创建、更新、读取或删除此对象。
  • 在Facebook上,其中一个对象是状态(status)。每个用户都可以创建、读取、删除或更新状态(status)
  • 在Twitter上,它是推文(tweet)
  • 在Pinterest上,它是钉子(pins)

每个应用程序都包含许多这样的对象——状态、照片、评论、用户等等。您必须计划所有这些对象,并设计这些对象与应用程序用户之间的未来交互。


2

目前,第一个链接中没有提到脚手架。请参考 https://guides.rubyonrails.org/v3.2.8/getting_started.html#getting-up-and-running-quickly-with-scaffolding。 - Mayuresh Srivastava

1

让我们来看一个简单的例子

我们想要创建一个应用程序,其中包含两个数据模型:用户模型(user model)和帖子模型(post model)。用户模型包含用户ID、姓名和电子邮件地址,而帖子模型则包含ID和内容。

我们想要将每个帖子模型与特定的用户关联起来。为此,我们将记录帖子所有者的user_id。

通过使用Rails脚手架命令,您可以创建Rails脚手架。Rails会为这两个数据模型生成模型和控制器,从而节省大量时间。

你可以节省很多时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接