提交 028e54c6 编写于 作者: J José Valim

Add mailers to paths in case someone wants to access it directly and ensures...

Add mailers to paths in case someone wants to access it directly and ensures deep nesting works in controllers.
上级 67512b94
......@@ -82,7 +82,7 @@ def load_tasks
initializer :add_routing_namespaces do |app|
paths.app.controllers.to_a.each do |load_path|
load_path = File.expand_path(load_path)
Dir["#{load_path}/*/*_controller.rb"].collect do |path|
Dir["#{load_path}/*/**/*_controller.rb"].collect do |path|
namespace = File.dirname(path).sub(/#{load_path}\/?/, '')
app.routes.controller_namespaces << namespace unless namespace.empty?
end
......
......@@ -18,8 +18,9 @@ def paths
paths.app.controllers "app/controllers", :eager_load => true
paths.app.helpers "app/helpers", :eager_load => true
paths.app.models "app/models", :eager_load => true
paths.app.metals "app/metal"
paths.app.views "app/views"
paths.app.mailers "app/mailers", :eager_load => true
paths.app.metals "app/metal", :eager_load => true
paths.app.views "app/views", :eager_load => true
paths.lib "lib", :load_path => true
paths.lib.tasks "lib/tasks", :glob => "**/*.rake"
paths.lib.templates "lib/templates"
......
......@@ -56,9 +56,10 @@ def assert_not_in_load_path(*path)
end
test "booting up Rails yields a list of paths that are eager" do
assert @paths.app.eager_load?
assert @paths.app.controllers.eager_load?
assert @paths.app.helpers.eager_load?
eager_load = @paths.eager_load
assert eager_load.include?(root("app/controllers"))
assert eager_load.include?(root("app/helpers"))
assert eager_load.include?(root("app/models"))
end
test "environments has a glob equal to the current environment" do
......
......@@ -263,13 +263,15 @@ def test_namespaced_controllers_with_namespaced_routes
@plugin.write "config/routes.rb", <<-RUBY
Rails.application.routes.draw do
namespace :admin do
match "index", :to => "admin/foo#index"
namespace :foo do
match "bar", :to => "admin/foo/bar#index"
end
end
end
RUBY
@plugin.write "app/controllers/admin/foo_controller.rb", <<-RUBY
class Admin::FooController < ApplicationController
@plugin.write "app/controllers/admin/foo/bar_controller.rb", <<-RUBY
class Admin::Foo::BarController < ApplicationController
def index
render :text => "Rendered from namespace"
end
......@@ -280,7 +282,7 @@ def index
require 'rack/test'
extend Rack::Test::Methods
get "/admin/index"
get "/admin/foo/bar"
assert_equal 200, last_response.status
assert_equal "Rendered from namespace", last_response.body
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册