我是 Rails 新手,所以我当前的项目处于奇怪的状态。
我生成的第一个东西是“电影”模型。然后我开始更详细地定义它,添加一些方法等等。
我现在意识到我应该使用railsgeneratescaffold
生成它来连接路由、 View 、 Controller 等东西。
我尝试生成脚手架,但收到错误消息,指出同名的迁移文件已存在。
现在为我的“电影”创建脚手架的最佳方式是什么? (使用 Rails 3)
最佳答案
TL;DR:rails g scaffold_controller <name>
即使您已经有了模型,您仍然可以使用 rails generate
生成必要的 Controller 和迁移文件。选项。如果你运行rails generate -h
您可以看到所有可用的选项。
Rails:
controller
generator
helper
integration_test
mailer
migration
model
observer
performance_test
plugin
resource
scaffold
scaffold_controller
session_migration
stylesheets
如果您想为您的模型生成 Controller 支架,请参阅 scaffold_controller
。为了清楚起见,以下是对此的描述:
Stubs out a scaffolded controller and its views. Pass the model name, either CamelCased or under_scored, and a list of views as arguments. The controller name is retrieved as a pluralized version of the model name.
To create a controller within a module, specify the model name as a path like 'parent_module/controller_name'.
This generates a controller class in app/controllers and invokes helper, template engine and test framework generators.
要创建资源,您可以使用 resource
生成器,并创建迁移,您还可以看到 migration
生成器(看,所有这些疯狂的事情都有一个模式)。这些提供了创建缺少的文件以构建资源的选项。或者,您可以运行 rails generate scaffold
与 --skip
跳过任何存在的文件的选项:)
我建议花一些时间查看生成器内部的选项。我认为它们在书籍等中没有得到很好的记录,但它们非常方便。
关于ruby-on-rails - rails : How to run `rails generate scaffold` when the model already exists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333393/