Ami*_*mit 2 plugins ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3
我正在写第一个rails的插件.该插件应该扩展actioncontroller :: base
所以在完成这里的教程后,我做了...
# Foo
class << ActionController::Base
def function_name
Run Code Online (Sandbox Code Playgroud)
假设插件被称为foo ...但是当我从一个动作调用function_name时,没有任何反应......似乎甚至没有调用function_name.没有方法丢失错误,所以我确定插件已经加载...
我真的很难受!
Yeh*_*atz 11
你应该通过on_load钩子来做到这一点:
ActiveSupport.on_load(:action_controller) do
include Foo
end
Run Code Online (Sandbox Code Playgroud)
这将推迟包括模块,直到ActionController :: Base正常加载.这样可以避免AC::Base过早加载,这可以节省许多Rake任务和加载控制台时的一些加载时间.
| 归档时间: |
|
| 查看次数: |
729 次 |
| 最近记录: |