diff options
author | Tima Maslyuchenko <insside@gmail.com> | 2013-10-24 07:54:20 +0300 |
---|---|---|
committer | Tima Maslyuchenko <insside@gmail.com> | 2013-10-24 08:03:31 +0300 |
commit | 719f1d68e4945332f71dc8ad93141780e60929b5 (patch) | |
tree | 48e03cefab7b9bc5d2a95b322caf6dd59757baac /actionpack/lib/action_controller/metal/helpers.rb | |
parent | 783527fd877c491cf5f2f563ee42d5bc19e1b78b (diff) | |
download | rails-719f1d68e4945332f71dc8ad93141780e60929b5.tar.gz rails-719f1d68e4945332f71dc8ad93141780e60929b5.tar.bz2 rails-719f1d68e4945332f71dc8ad93141780e60929b5.zip |
pass app config to controller helper proxy
After this fix application config become available when calling helper outisde of view
config/application.rb
#...
config.asset_host = 'http://mycdn.com'
#...
Somewhere else
ActionController::Base.helpers.asset_path('fallback.png')
# => http://mycdn.com/assets/fallback.png
Diffstat (limited to 'actionpack/lib/action_controller/metal/helpers.rb')
-rw-r--r-- | actionpack/lib/action_controller/metal/helpers.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/helpers.rb b/actionpack/lib/action_controller/metal/helpers.rb index b53ae7f29f..a9c3e438fb 100644 --- a/actionpack/lib/action_controller/metal/helpers.rb +++ b/actionpack/lib/action_controller/metal/helpers.rb @@ -73,7 +73,11 @@ module ActionController # Provides a proxy to access helpers methods from outside the view. def helpers - @helper_proxy ||= ActionView::Base.new.extend(_helpers) + @helper_proxy ||= begin + proxy = ActionView::Base.new + proxy.config = config.inheritable_copy + proxy.extend(_helpers) + end end # Overwrite modules_for_helpers to accept :all as argument, which loads |