Задать вопрос
@AlexeyMoshkin

Как получить доступ к моделям которые хранятся в геме?

Есть rails-приложение, большая часть которого, в том числе модели, находится в подключаемом геме.
Пишу класс, чтобы использовать его в rake task'e, находится он в /lib. В классе необходим доступ к моделям приложения. Как его получить?
  • Вопрос задан
  • 219 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
lunaticman
@lunaticman
Дерзкий айтишник
давайте предположим что вы пишете your_task.rake файл

вы можете его написать так и загрузить rails окружение по умолчанию (обратите внимание на :environment )
namespace :your_task do
  desc "my description"
  task :my_task => :environment do
    <...>
  end
end


но вы так же можете дропнуть :environment и лично загрузить файл с помощью:
require_relative '../lib/your_path'

namespace :your_task do
  desc "my description"
  task :my_task do
    <...>
  end
end
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
shurik_sh
@shurik_sh
Начинающий программист
Все гемы загружаются в память при инициализации рельсового приложения, соответственно все объекты доступны в коде без дополнительного подключения библиотек. Модель подключаемой библиотеки это обычный руби класс, скорее всего до него можно добраться по полному пути, например SuperGem::SuperAR::SuperModel
Нужно ознакомиться с документацией api гема или посмотреть исходный код, чтобы понять как он работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
OTKLIK POWER Москва
от 80 000 до 150 000 ₽
от 6 000 до 8 000 $
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $