Доступ к моделям внутри модулей - PullRequest
0 голосов
/ 27 октября 2009

Доступны ли модели в модулях. Могу ли я получить доступ к константам, хранящимся в классе модели внутри модели.

Я попытался потребовать 'modelfilename.rb' и попытался использовать константы по Model :: Constant_name, но не смог получить значение. Поскольку константы связаны с моделью, я сохраняю их вместе с моделью, и я получаю к ним доступ в модуле, используя модель, которая мне нужна в моем модуле.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 28 октября 2009

Вы можете использовать что-то вроде:

modelObject = Object.const_get (StackOverflow)

где StackOverflow - ваша модель. Это должно работать, но у меня есть сильное подозрение, что ActiveRecord обрабатывает вызовы Object.const_get. В таком случае, просто следуйте советам Дэмиена.

0 голосов
/ 27 октября 2009

Где находится ваш модуль?
Любой модуль, расположенный внутри приложения rails (например, каталог "lib" или плагин) и доступный этим приложением rails, имеет все доступные модели.
Так что вам не нужно их требовать. Вам нужно только позвонить им.

Если ваш модуль не находится в вашем приложении rails, вам нужно определить каталог моделей и загрузить тот, который вам нужен.

$:.unshift 'path/to/your/models/directory'
require 'modelfilename'

Сначала нужно определить, в каком каталоге находятся ваши модели, чтобы ruby ​​знал, что загружать.
Тогда вам нужна ваша модель. Расширение ".rb" не требуется.

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