【问题标题】:Ruby on Rails: Scaffolding, the Model, and attributesRuby on Rails:脚手架、模型和属性
【发布时间】:2011-10-09 00:08:42
【问题描述】:
我有一个奇怪的问题。假设我使用脚手架创建了一些东西。这应该为我构建许多不同的文件,包括模型、视图和控制器中的文件。我不仅传递了脚手架的名称,还传递了属性/字段/变量。当我查看我生成的脚手架模型时,我没有看到列出的那些属性。我很困惑。 Rails 如何知道一个字段是否存在?我以后可以将它们更改为不具有某个属性或添加新属性吗?
对于这个问题,我深表歉意。试图学习这个框架,我感到相当不知所措。我最初是一名从事小型学校项目的 Java 开发人员,我想拓展业务。我购买并一直在尝试阅读我不断听到的《Agile Web Development with Rails》一书。这很好,但我仍然对一切如何运作感到相当迷茫。我是不是太努力理解 Rails 的工作原理了?
谢谢大家!
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-3
【解决方案1】:
脚手架是一种生成代码的方法,否则您将编写代码。生成的代码只是一个起点,而不是事物的最终版本。
型号:
当你脚手架时,你传入你现在需要的字段。 Rails 将为您生成模型和迁移。当您运行迁移时,它将使用您传递的列/字段在 db 中创建表。模型可以动态判断表中有哪些字段。
如果您以后需要添加/删除字段,则需要编写另一个迁移来添加删除它们,您可以使用 rails generate migration 来完成
控制器:
Scaffolding 生成一个标准控制器,其中包含 7 个操作来响应静态资源(您的模型):新建、创建、编辑、更新、销毁、显示、索引。您可以随意添加或删除操作。如果您添加/删除操作,则需要相应地更改路线。
查看次数:
Rails 脚手架将生成准系统标准视图,其中包含字段的表单和显示这些字段的视图。您可以根据需要自定义外观和更改视图。
我希望它能澄清一些事情。
脚手架并不是生成代码的唯一方法。有特定于模型、迁移和控制器的生成器。
我希望你已经阅读了RailsGuides。它们对初学者和熟悉 Rails 的人都非常有帮助。