Загрузить только часть среды для граблей? - PullRequest
1 голос
/ 20 марта 2012

Я видел группу статей, касающихся загрузки всей среды Rails для задачи. Тем не менее, я обеспокоен тем, что в этом нет необходимости, поскольку я использую только две модели для своей задачи (плюс «resque» и «resque / scheduler»). Как я могу загрузить только определенные части среды для своей задачи?

Кроме того, этот вопрос кажется тем же, но он состарился, и никто, кажется, не ответил на него в достаточной мере ... Я сейчас спрошу, что кто-то, пожалуйста, даст код а не просто объяснение.

1 Ответ

2 голосов
/ 20 марта 2012

Вам, вероятно, не понравится этот ответ, но ...

Вы не должны загружать только часть своей среды.Любой обходной путь будет безобразным, неприятным и ломким.Это быстрее, проще и стандартнее, просто требуя всю среду.Скорее всего, любое решение, которое вы придумали, сэкономит время запуска задачи всего на одну или две секунды, и оно не будет стоить того, сколько времени и энергии вы потратили на его реализацию.

Тем не менее, если вы действительно хотите это сделать, если вы загружаете только модели ActiveRecord, вы можете попробовать что-то подобное перед вашей задачей:

require 'active_record'
require './app/models/my_model.rb'

Скорее всего, вы получите кучу ошибок о неопределенныхметоды и недостающие константы.Вы можете вручную исправить каждую из них, требуя файлы один за другим для устранения проблемы, или просто воспользуйтесь моим советом и запросите вашу среду.(Подсказка: просто требуйте своего окружения.)

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