2011-05-26 47 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