从命令行简单运行rails g
会遇到长时间的预加载问题。我想从正在运行的rails c
快速生成多个迁移,所以我尝试了:
require 'rails/generators'
Rails::Generators.invoke('migration',['user_book_list_followings'],{:behavior=>:invoke, :destination_root=>Rails.root})
你问我从哪里得到:行为和:destination_root参数?好吧,当我从命令运行生成器并记录确切的参数时,我在Rails :: Generators#invoke执行点上撬了。
然而,有趣的是,我被提出错误说:
没有为所需选项' - ''提供价值
我错过了什么吗? (我在Rails 3.2.3上)
答案 0 :(得分:1)
require 'rails/generators'
Rails::Generators.invoke("active_record:migration", ["create_something", "list_order:string", "name:string"], {migration: true, timestamps: true})
答案 1 :(得分:0)
一种加快呼叫速度g的解决方案是使用sprockets.
Spring是Rails应用程序的预加载器。通过使应用程序在后台运行,它可以加快开发速度,因此您无需在每次运行测试,执行rake任务或迁移时都启动它。