2011-05-26 43 views
2

我有一个需要添加迁移的gem我尝试过使用invoke“migration”,但似乎忽略了我传递的参数并使用传递给我的生成器的参数。使用生成器添加迁移

什么是使用生成器添加迁移的正确方法?我需要将一个动态名称传递给创建_#{} first_arg。

+0

您能否给我们你想要做什么的例子和/或更多细节? – 2011-05-26 20:21:41

回答

2

我建议使用一个模板迁移,而不是产生一个新问题:你可以简单地有您的模板,替换动态元素,以及模板实例复制到文件系统(用时前面加上迁移的名字)。这样,就不需要生成实际的迁移。

(如果这是要你想做的事,你可能要检查出来后我就类似话题中写道:http://davidsulc.com/blog/2011/05/22/adding-a-namespaced-rails-generator-to-a-standalone-ruby-gem/

如果你在运行迁移命令集,您可能希望尝试使用Thor的run_ruby_script(http://rdoc.info/github/wycats/thor/master/Thor/Actions#run_ruby_script-instance_method)注意:Thor是用于发电机的引擎,详见http://guides.rubyonrails.org/generators.html

+0

这在我的测试中有效,但我已经开始使用rails 3.1的gem,由于迁移不同,它根本就不工作。 – Arcath 2011-07-13 16:20:27