5

简单地rails g从命令行运行会遭受长时间的预加载。我想从运行中快速生成多个迁移rails c,所以我尝试了:

require 'rails/generators'
Rails::Generators.invoke('migration',['user_book_list_followings'],{:behavior=>:invoke, :destination_root=>Rails.root})

你问我从哪里得到 :behavior 和 :destination_root 参数?好吧,当我从命令运行生成器并记录确切的参数时,我在 Rails::Generators#invoke 执行点进行了检查。

然而,有趣的是,我收到了一条错误消息:

未为必需选项“--orm”提供值

我错过了什么吗?(我在 Rails 3.2.3 上)

4

2 回答 2

2
require 'rails/generators'
Rails::Generators.invoke("active_record:migration", ["create_something", "list_order:string", "name:string"], {migration: true, timestamps: true})
于 2021-06-17T04:26:51.183 回答
0

一种加快调用 rails g 的解决方案是使用spring。

Spring 是一个 Rails 应用程序预加载器。它通过让您的应用程序在后台运行来加速开发,因此您无需在每次运行测试、rake 任务或迁移时都启动它。

于 2020-08-19T04:08:37.343 回答