Как мне вызвать генератор Rails из самого приложения? - PullRequest
0 голосов
/ 15 сентября 2018

Мне нужно немного помочь с использованием генератора нестандартных рельсов!

Я пытаюсь программно вызвать генератор миграции 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(' ')}"), но я хочу запустить его в том же процессе, чтобы он был быстрым!

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...