Есть ли простой способ заставить действие rails загрузить внешний файл команд и затем выполнить их?
Например, я пытаюсь написать группу рельсов, создающих методы для предварительного заполнения группы таблиц в базе данных.
В идеале, я бы хотел, чтобы действие проверяло наличие файла, если оно существует, запускает все команды, а затем удаляет файл, чтобы он больше не выполнялся.
Итак, внешний файл будет выглядеть примерно так:
MyTable.create :name => "New 1"
MyTable.create :name => "New 2"
Легко ли это сделать в рельсах?
Некоторые уточнения:
Идея заключалась бы в том, что если после релиза необходимо доработать определенные настроечные таблицы и что вы не можете сделать это с помощью сценария миграции (т.е. вы инициализируете базу данных из файла schema.rb) , вы могли бы:
- Создайте файл с именем «update_data.rb», например
- Поместите его в директорию администратора
- Назначить какое-либо действие в браузере (например, / admin / update_data)
- Затем Rails будет читать файл, выполняя команды построчно, а затем
- Удалите файл после завершения, чтобы случайно не выполнить действия
Это помогает? Это будет файл для одноразовых действий, которые необходимо выполнить после выпуска. Если есть лучший метод, я, конечно, все уши!