在Rails 3生成器中多次调用任务

bal*_*and 10 ruby ruby-on-rails thor ruby-on-rails-3

我正在编写一个Rails 3生成器,它可以创建两个不同的模型.这是我正在尝试做的一个非常简单的例子:

def my_generator_task
  invoke "model", ["foo"]
  invoke "model", ["bar"]
end
Run Code Online (Sandbox Code Playgroud)

问题是Thor调用方法只调用一次任务,因此第二次调用"模型"任务永远不会发生,并且永远不会创建"bar"模型.有没有人知道一个优雅的方法来实现这一点,最好是以一种不会破坏运行发生器"rails destroy"的能力的方式?

Mic*_*ton 2

使用 Thor,如果你想调用一个没有依赖管理的任务,你只需直接调用它:

model(foo)
model(bar
Run Code Online (Sandbox Code Playgroud)