ruby-on-rails - rails : How to run `rails generate scaffold` when the model already exists?

标签 ruby-on-rails ruby-on-rails-3

我是 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/

相关文章:

ruby-on-rails - 限制Rails表中的记录数

ruby-on-rails-3 - has_many 和 belongs_to 在同一个模型中

ruby-on-rails - CanCan 的 Spree 订单

javascript - 用于 SEO 的 URL 重定向(在 Flash 中)?

ruby-on-rails - 将默认的 ActiveRecord id 从 0 更改为 1000000

javascript - 在 rails 2.x 中将部分特定的 javascript 放在哪里

ruby-on-rails - Rails 4搜索选项。有哪些选项可以将完整的HTML网站搜索与ActiveRecord搜索结合在一起?

javascript - Bootstrap-Dropdown 无法正常工作 [RAILS]

ruby-on-rails-3 - 从 Rails 中的 url 中删除 "index"

mysql - 如何一次合并2个ID