2015-01-29 2 views
1

Возможно ли написать набор команд - аналогично тому, что вы найдете в контроллере, но сохраните его как отдельный файл в моем приложении rails, который я мог бы вызвать и запустить с консоли ?Сохранить и запустить Rails Script

Например, что-то пробивает мою базу данных и запускает некоторые команды ActiveRecord для изменения данных, которые могут время от времени очищаться, но я не хочу жить внутри контроллера. Он большой - слишком большой для меня, чтобы скопировать/вставить его в консоль рельсов - вот почему я пытаюсь сделать файл из него.

+0

Да, вы можете либо написать ruby, либо просто выполнить его в командной строке с ruby ​​myubyfile.rb, или, тем не менее, использовать rake, быстрый учебник по грабли Google поможет вам начать с этого. –

ответ

0

Вы можете написать свой код в отдельный файл, скажем myCode.rb и запустить его с консоли с помощью rails runner myCode.rb (запустите эту команду из каталога, в который вы сохранили файл). rails runner дает вам доступ к вашей среде рельсов.

Надеюсь, это поможет.

0

Я принял ваш совет, Тони, и задумался о том, чтобы сделать свои собственные рейк-задачи, и это, казалось, сделало трюк! Я создал новый файл .rake внутри папки lib/tasks и только что скопировал и вставил туда свой блок кода. Я должен был установить его для наследования из окружающей среды, как указано в опубликованном мной сообщении, но, похоже, теперь он отлично работает - спасибо за подсказку!

+0

Также важно отметить, что если это не то, что вполне соответствует задаче грабли, вы можете использовать «rails runner». Особенно полезно для одноразовых задач: http://guides.rubyonrails.org/command_line.html#rails-runner – Brennan

Смежные вопросы