Методы ApplicationController в Rails 2.0.2 не переопределяют методы плагина, использующие движки
Я пытаюсь использовать плагин Savage Beast 2 в своем проекте. Этот плагин требует использования плагина Engines. Мой проект на Rails 2.0.2.
Есть несколько методов в
/main_app/vendor/plugins/savage_beast/lib/authentication_system.rb
что я хочу переопределить в
/main_app/app/controllers/application.rb
Представления в плагине (даже если они переопределяются путем создания похожих представлений в основном приложении), НЕ видят переопределенные методы в application.rb и вместо этого получают доступ к методам в
/main_app/vendor/plugins/savage_beast/lib/authentication_system.rb
Начало моего application.rb выглядит так:
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
include SavageBeast::AuthenticationSystem
Я также добавил правильную строку в мой /config/environment.rb -
require File.join(File.dirname(__FILE__), '../vendor/plugins/engines/boot')
после требуемой... строки загрузки.
Я не уверен, что делать в этот момент. Любая помощь будет оценена.
1 ответ
Очевидно, это работает, если я вместо этого переопределю эти методы в ApplicationHelper!!! Зачем? Я не знаю! Поэтому вместо переопределения этих методов в application.rb я сделал это в application_helper.rb
И теперь работает нормально! Я должен был включить свой собственный модуль аутентификации в application_helper.rb для поддержки методов, которые я переопределял.