Методы 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 для поддержки методов, которые я переопределял.

Другие вопросы по тегам