我写了我自己的生成器,从控制台启动它是这样的
rails generate ead_document TechnicalOpinion --document_type_id=1
它创建模型和迁移。我想在不使用 ruby 系统命令的情况下从我的 Controller 执行生成器。有没有办法做到这一点?
最佳答案
解决方案似乎很简单:
Controller 中的这段代码
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
如果你想在 Controller 之外使用它,你可能还想明确地要求它:require 'rails/generators'
关于ruby-on-rails - 如何从代码中调用生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081478/