我正在编写一个创建两个不同模型的Rails 3生成器.这是一个非常简化的示例,我正在尝试:
def my_generator_task invoke "model",["foo"] invoke "model",["bar"] end
问题是Thor invoke method只调用一次任务,所以对“模型”任务的第二次调用永远不会发生,“bar”模型永远不会被创建.有没有人知道一个优雅的方式来完成这个,最好是不会破坏用发电机运行“轨道毁灭”的能力?
解决方法
还有一个想法,这样,也可以运行多个模型生成器而不进行迁移
Rails::Generators.invoke("active_record:model",["foo","--no-migration" ]) Rails::Generators.invoke("active_record:model",["bar","--no-migration" ])