我花了一些时间来了解 Rails 生成器的工作原理,并设法创建了一个可以复制一些文件并更改其他文件的生成器。我这样称呼它:
rails generate menu test
但我也需要让它生成一个迁移,以创建一个表并向其中添加字段,例如:
rails generate menu test content:text
参数的数量可能会有所不同,但它总是有一个 ID 和一个标题列是给定的。
我怎样才能做到这一点?
我花了一些时间来了解 Rails 生成器的工作原理,并设法创建了一个可以复制一些文件并更改其他文件的生成器。我这样称呼它:
rails generate menu test
但我也需要让它生成一个迁移,以创建一个表并向其中添加字段,例如:
rails generate menu test content:text
参数的数量可能会有所不同,但它总是有一个 ID 和一个标题列是给定的。
我怎样才能做到这一点?
如果你想:
$ rails generate scaffold test content:text
然后看看这个 Rails 指南。它提供以下信息:
[...] 请注意,我们继承自 Rails::Generators::NamedBase 而不是 Rails::Generators::Base。这意味着我们的生成器至少需要一个参数,它将是初始化程序的名称,并且将在我们的代码中的变量名中可用。
我们可以通过调用这个新生成器的描述来看到这一点(不要忘记删除旧的生成器文件):
$ rails generate initializer --help Usage: rails generate initializer NAME [options]