Мне нужно немного помочь с использованием генератора нестандартных рельсов!
Я пытаюсь программно вызвать генератор миграции Rails и создать новый файл db / migrate / 1234_something.rb из моего приложения.
Я не хочу печатать rails generate migration add_fields_to_thing name:string
, но это тот эффект, который я хочу.
Как программно вызвать генератор и создать ли он файл?
Это мой подход до сих пор:
filename = ['create_something']
atts = ['name:string', 'body:text']
Rails::Generators.invoke('migration', (filename + atts), behavior: :invoke, destination_root: Rails.root)
И это успешно выполняется, но возвращает только [[nil]]
Я знаю, что этот код успешно выполняется из генератора rails, но я не знаю, как запустить генератор, и действительно ли он создает файл, как если бы он работал под Thor.
Любая помощь будет высоко ценится!
Я знаю, что могу просто сделать system("rails generate migration #{filename} #{atts.join(' ')}")
, но я хочу запустить его в том же процессе, чтобы он был быстрым!
Спасибо