Модуль, включающий в проект рельсы - PullRequest
0 голосов
/ 03 ноября 2011

Я написал файл constant.rb в папке lib / для моего приложения rails. Чтобы использовать его в ActiveRecord, я написал ActiveRecord::Base.extends Constant в файле constant.rb, и он работает. Но я не знаю, как использовать то же самое в ActionController, я пробовал ActionController::Base.extends Constant Но это не сработало. Просьба помочь.

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

это опечатка ... вы написали множественное число, но на самом деле это единственное число extend.

Несколько советов:

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

  • Вы не должны помещать это в ваш lib/constant.rb, лучше создать новый инициализатор, такой как

конфиг / Инициализаторы / constants.rb

require 'app_constant'
ActiveRecord::Base.extend AppConstant
ActiveController::Base.extend AppConstant

может быть, есть еще лучший способ: положить extend AppConstant в свой app/controllers/application_controller.rb

2 голосов
/ 03 ноября 2011

Простая ошибка.

Вы хотите ActionController::Base.extend(Constant).

Примечание: extend не extend*s*

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