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

Ruby on rails 如何从代码中调用生成器?,ruby-on-rails,ruby-on-rails-3,generator,Ruby On Rails,Ruby On Rails 3,Generator,我写了我自己的生成器,从它的控制台像这样启动 rails generate ead_document TechnicalOpinion --document_type_id=1 它创建模型和迁移。我想在不使用ruby系统命令的情况下从控制器执行generator。有什么方法可以做到这一点吗?解决方案似乎非常简单: 此代码位于控制器中 Rails::Generators.invoke(“ead_document”,[@document_type.table_name.classify,“--do

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

rails generate ead_document TechnicalOpinion --document_type_id=1

它创建模型和迁移。我想在不使用ruby系统命令的情况下从控制器执行generator。有什么方法可以做到这一点吗?

解决方案似乎非常简单:

此代码位于控制器中

Rails::Generators.invoke(“ead_document”,[@document_type.table_name.classify,“--document_type_id={@document_type.id}”)
与控制台中的相同

rails生成ead\u文档技术小齿轮--document\u type\u id=1
如果您想在控制器外部使用它,您可能还需要明确要求它:

要求“轨道/发电机”

请您打开一个关于API的新问题,而不是回答一个问题,好吗?这样我们就可以搜索问题和答案。我用不同的观点写了一篇博客:我写了一篇关于它的文章:这个解决方案有一个大问题,选项数组不能从提供的参数中填充。我仍在试图找出原因。我尝试设置ARGV.replace(args),但仍然没有成功。有什么建议吗?