Rails 2.0.2中的ApplicationController方法没有使用Engines覆盖插件方法

时间:2010-09-21 05:48:30

标签: ruby-on-rails applicationcontroller beast

我正在尝试在我的项目中使用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')

在require ... boot line之后。

我不知道此时该做什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

显然,如果我在ApplicationHelper中覆盖这些方法,它就可以了! 为什么?我不知道! 因此,而不是覆盖application.rb中的那些方法 我在application_helper.rb

中这样做了

现在它工作正常! 我必须在application_helper.rb中包含我自己的身份验证模块,以支持我覆盖的方法。