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

标签 ruby-on-rails ruby-on-rails-3 generator

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

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/

相关文章:

ruby-on-rails - 我应该在新项目中使用哪个版本的 Rails

ruby-on-rails - 我应该使用哪些插件/gem 在 Rails 3 中即时动态生成缩略图?

ruby-on-rails-3 - 未找到亚马逊图片上的 Prawn 图片

haskell - 在 Haskell 中生成不等于指定整数的整数列表?

ruby-on-rails - 如何让 Rails 应用程序记住用户输入而不将数据存储到数据库中

ruby-on-rails - 设置属性的通用方法

ruby-on-rails-3 - 如何创建安全 Controller

ruby-on-rails - 运行 Linux 命令 "from" 'RAILS_ROOT/config/environments/production.rb' 文件

c# - C++ 等效于 C# Yield?

javascript - 如何从yield* 中获取当前字符串的长度