diff --git a/actionmailer/lib/action_mailer/railtie.rb b/actionmailer/lib/action_mailer/railtie.rb index 4c48d2bed69a5d1aaac839fab054fc07a726f8cc..7622a90b17279f7d643304c5bbdd36a2e8048acc 100644 --- a/actionmailer/lib/action_mailer/railtie.rb +++ b/actionmailer/lib/action_mailer/railtie.rb @@ -6,7 +6,7 @@ class Railtie < Rails::Railtie railtie_name :action_mailer initializer "action_mailer.url_for", :before => :load_environment_config do |app| - ActionMailer::Base.send(:include, ActionController::UrlFor) if defined?(ActionController) + ActionMailer::Base.send(:include, app.routes.named_url_helpers) end require "action_mailer/railties/log_subscriber" diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 67094392ee2678e4bc6122a48a6b7b2ceb6e5830..a74550b302e498c1a73520cf1b8af9283f253cd1 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -48,7 +48,7 @@ def require_environment! end def routes - ::ActionDispatch::Routing::Routes + @routes ||= ActionDispatch::Routing::RouteSet.new end def railties diff --git a/railties/test/rails_info_controller_test.rb b/railties/test/rails_info_controller_test.rb index a6fc23d95b5c229ea2b553f3cc461c2bde18221c..017e51326cf147312e0d727558ff0bb714045755 100644 --- a/railties/test/rails_info_controller_test.rb +++ b/railties/test/rails_info_controller_test.rb @@ -18,6 +18,9 @@ def setup match ':controller/:action' end @controller.stubs(:consider_all_requests_local? => false, :local_request? => true) + @router = Rails.application.routes + + Rails::InfoController.send(:include, @router.named_url_helpers) end test "info controller does not allow remote requests" do