【问题标题】:ApplicationController methods in Rails 2.0.2 not overriding plugin methods using EnginesRails 2.0.2 中的 ApplicationController 方法不使用引擎覆盖插件方法
【发布时间】:2010-09-21 05:48:29
【问题描述】:

我正在尝试在我的项目中使用 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 ... 引导行之后。

我现在不知道该怎么做。任何帮助将不胜感激。

【问题讨论】:

    标签: ruby-on-rails applicationcontroller beast


    【解决方案1】:

    如果我在 ApplicationHelper 中重写这些方法,显然它会起作用!!! 为什么?我不知道! 因此,不要在 application.rb 中覆盖这些方法 我在 application_helper.rb 中这样做了

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2019-08-18
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      相关资源
      最近更新 更多