你可能正在学习Rails,你读到你必须创建一个 "脚手架 "来启动你的Rails应用程序。
很简单!你可以使用。
你可以使用rails g scaffold 命令来完成这个任务。
但什么是 "脚手架"?
"脚手架是一种临时结构,用于支持工作团队,以帮助建设、维护和修理建筑物、桥梁和所有其他人造结构"。- 维基百科
翻译成Rails
脚手架是一组自动生成的文件,构成了Rails项目的基本结构。
这些文件包括
- 一个控制器
- 一个模型
- 每个标准控制器动作的视图(索引、编辑、显示、新)。
一个新的路由。
还有一个迁移,以准备你的数据库。
让我们看一个例子!
如何使用Rails Scaffold命令
一个关于书籍的网站的项目支架的例子是这样的。
rails g scaffold books
你应该看到有很多文字在滚动,其中详细介绍了正在创建的文件。
这个例子创建了:
- A
BooksController - 一个
Book模型 - 一个新的
resources :books路由添加到你的config/routes.rb文件中 - 一组测试相关的文件
- 查看
app/views/books下的文件(共五个)。
这是个很大的东西。
如果你想撤销这个脚手架,就在创建它之后,你可以使用以下命令。
rails d scaffold books
其中 "d "表示 "销毁"。
请记住,这将DELETE由脚手架过程中创建的文件。
现在
在你可以使用你的脚手架代码之前,你必须运行你的迁移程序来更新你的数据库模式。
使用rails db:migrate 命令。
如果没有错误信息出现,你就准备好了!你已经为你的新Rails应用程序,或者为一个需要新模型、视图和相应控制器的新功能建立了一个基本结构。
下一步
运行rails server
打开你的浏览器到localhost:3000/books ,你就可以看到结果了!
带有额外字段的Rails脚手架
在默认情况下...
你的模型只有时间戳字段,这意味着你能记录的关于你的书(或你正在使用的任何模型)的唯一信息是它们被创建或更新的时间。
这里是如何用额外的字段来搭建脚手架的
rails g scaffold books title:string author:string publication_year:integer
如果你像这样生成你的脚手架,你将有3个字段可以使用。
一个标题,一个作者,和一个出版年份。
这比仅仅拥有数据库的时间戳要有趣一些。
顺便说一下
这与我们用rails g migration 创建迁移时使用的语法相同。
生成特定组件
脚手架创建的东西你现在可能不需要或不想要。
但是Rails很好。
你可以使用rails g (g代表生成)命令来创建单个组件,比如控制器。
例子
rails g controller Fruitrails g model Fruit name:string color:string(创建模型+迁移)rails g migration CreateBook title:string year:integer(只创建迁移)
使用脚手架命令的一大好处是,所有的文件都是用正确的命名规则创建的,这就避免了奇怪的错误信息。它也为你省去了手动创建这些文件的工作。
Btw...
删除那些你不打算使用的自动生成的文件被认为是一个好的做法。因此,在使用 "g控制器 "这样的生成器后,查看创建的文件列表并删除那些你不需要的文件。
总结
你已经了解了Ruby中的脚手架,所以你可以快速启动一个新的Rails应用程序来练习。
随着你学习的深入,你可能想放弃脚手架。
但你仍然可以在需要时生成单独的控制器、模型或视图文件。
谢谢你的阅读!🙂