如何从代码中调用生成器?

我编写了自己的生成器,从这样启动的控制台

rails generate ead_document TechnicalOpinion --document_type_id=1 

它创建模型和迁移。 我想从我的控制器执行生成器而不使用ruby系统命令。 有没有办法做到这一点?

解决方案似乎很简单:

这段代码在控制器中

 Rails::Generators.invoke("ead_document", [@document_type.table_name.classify, "--document_type_id=#{@document_type.id}"]) 

在控制台中与此相同

 rails generate ead_document TechnicalOpinion --document_type_id=1