Rails中脚手架的用例有哪些?我应该何时使用而不使用它?

时间:2014-10-23 01:59:02

标签: ruby-on-rails scaffolding

我一直在使用Rails 4进行敏捷开发,在本书的大部分内容中都使用了脚手架。但是,我在网上看到Rails中的脚手架实际上非常糟糕,但我真的不明白为什么。谁有人向我解释这个? 感谢。

2 个答案:

答案 0 :(得分:2)

名称本身建议将其用于搭建结构。它的用例各不相同。

Rails Tutorial by Michael Hartl中,它被用作一种简单的方式来展示如何使Rails模型工作:需要什么代码以及在哪里。 Scaffolding演示了Rails开发人员在他的应用程序中使用的一些基本元素,因此它至少是初学者的一个很好的起点。

一旦你不是初学者,并且你可以编写与脚手架相当的代码,你就不会经常使用它,因为它不合适:你最终挖掘通过生成的代码并修复它以满足您的需求更长,而不是从头开始编写您需要的内容。否则,您可能会意外地暴露私人数据,为每个人提供一些受限制的操作,以及谁知道还有什么。当代码逐渐填写时,您可以更轻松地控制代码。当你搭建一个模型时,会出现许多不受控制的代码。

但是,如果你还没有构建应用程序,但更像是研究如何构建它(比如测试各种数据库模式),脚手架将加速通过引入环境来以方便的方式构建和查看数据库中的数据,以便您可以测试您的想法是否能够满足您的需求。完成后,您可能会生成一个新项目并从头开始实施更精美的版本。

还有外来用途你可能会觉得好笑。使用Rails,您还可以构建永远不会公开显示的应用,而不是内部使用。其中一种情况是构建数据集。我亲自将它用于游戏,我将某些游戏内资源搭建为模型并调整输出JSON索引的方式。每个人都通过方便的Web界面填充资源,然后导出到JSON文件并放入游戏资产。 这节省了时间,我只浪费了15-20分钟,并且节省了我们维护数据集的额外工作时间(结构始终保持正确,数据可以由多个人并行填充)。

答案 1 :(得分:1)

我在之前版本的rails中尝试过它。它基本上是一种从数据库到html视图以及介于两者之间的所有内容创建应用程序的基本完整堆栈实现的方法。如果你正在构建一个只支持crud的非常基本的应用程序,它真的有用。我发现学习rails比在实际项目中实际使用它作为一种设计方法更有用。

如果您只是需要一些实验,这是一种简单的方法来启动应用程序。