模型已经存在时如何运行`rails generate scaffold`?

我是Rails的新手,所以我目前的项目处于一个奇怪的状态。

我生成的第一件事就是一个“电影”模型。 然后我开始更详细地定义它,添加了一些方法等。

我现在意识到我应该用rails generate scaffold来连接路由,视图,控制器等等。

我试图生成脚手架,但我得到一个错误,说已经存在一个具有相同名称的迁移文件。

现在为我的“电影”创建脚手架的最佳方式是什么? (使用导轨3)


TL; DRrails g scaffold_controller <name>

尽管您已经有了一个模型,但仍然可以使用rails generate选项生成必要的控制器和迁移文件。 如果您运行rails generate -h您可以看到所有可用的选项。

Rails:
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  observer
  performance_test
  plugin
  resource
  scaffold
  scaffold_controller
  session_migration
  stylesheets

如果您想为您的模型生成控制器脚手架,请参阅scaffold_controller 。 为了清楚起见,以下是对此的描述:

剔除脚手架控制器及其视图。 传递模型名称,包括CamelCased或under_scored,以及视图列表作为参数。 控制器名称作为型号名称的复数版本检索。

要在模块中创建控制器,请将模型名称指定为类似'parent_module / controller_name'的路径。

这会在应用程序/控制器中生成一个控制器类,并调用助手,模板引擎和测试框架生成器。

要创建资源,您需要使用resource生成器,并创建迁移,您还可以看到migration生成器(请参阅所有这些疯狂的模式)。 这些提供了创建缺失文件来构建资源的选项。 或者,你可以运行rails generate scaffold --skip选项跳过任何存在的文件:)

我建议花一些时间看看发电机内部的选项。 他们是我感觉不到的东西在书籍等方面非常好,但它们非常方便。


Lee Jarvis很好的回答,这只是命令,例如; 我们已经有一个名为User的现有模型:

rails g scaffold_controller User

对于使用现有数据库启动Rails应用程序的人来说,有一个名为schema_to_scaffold的酷宝石来生成脚手架脚本。 它输出:

rails g scaffold users fname:string lname:string bdate:date email:string encrypted_password:string

从您的schema.rb我们您的重命名的schema.rb. 核实

链接地址: http://www.djcxy.com/p/47189.html

上一篇: How to run `rails generate scaffold` when the model already exists?

下一篇: OO Design in Rails: Where to put stuff