1. 27 7月, 2012 1 次提交
  2. 24 7月, 2012 1 次提交
  3. 21 7月, 2012 1 次提交
  4. 20 7月, 2012 3 次提交
  5. 18 7月, 2012 2 次提交
    • A
      Add support for optional root segments containing slashes · d8745dec
      Andrew White 提交于
      Optional segments with a root scope need to have the leading slash
      outside of the parentheses, otherwise the generated url will be empty.
      However if the route has non-optional elements then the leading slash
      needs to remain inside the parentheses otherwise the generated url
      will have two leading slashes, e.g:
      
      Blog::Application.routes.draw do
        get '/(:category)', :to => 'posts#index', :as => :root
        get '/(:category)/author/:name', :to => 'posts#author', :as => :author
      end
      
      $ rake routes
        root GET /(:category)(.:format)              posts#index
      author GET (/:category)/author/:name(.:format) posts#author
      
      This change adds support for optional segments that contain a slash,
      allowing support for urls like /page/2 for the root path, e.g:
      
      Blog::Application.routes.draw do
        get '/(page/:page)', :to => 'posts#index', :as => :root
      end
      
      $ rake routes
      root GET /(page/:page)(.:format) posts#index
      
      Fixes #7073
      d8745dec
    • K
      Fix class_eval without __FILE__ and __LINE__. · 414008f9
      kennyj 提交于
      414008f9
  6. 13 7月, 2012 1 次提交
  7. 11 7月, 2012 1 次提交
  8. 09 7月, 2012 1 次提交
  9. 08 7月, 2012 2 次提交
    • @
      move route_inspector to actionpack · ef91cddb
      @schneems and @mattt 提交于
      this is so we can show route output in the development when we get a routing error. Railties can use features of ActionDispatch, but ActionDispatch should not depend on Railties.
      ef91cddb
    • S
      show routes while debugging RoutingError · fa714ec7
      schneems 提交于
      If someone receives a routing error, they likely need to view the routes. Rather than making them visit '/rails/info/routes' or run `rake routes` we can give them that information on the page.
      fa714ec7
  10. 07 7月, 2012 1 次提交
    • M
      Prevent conflict between mime types and Object methods · 021f3d24
      Mircea Pricop 提交于
      Assuming the type ":touch", Collector.new was calling
      send(:touch), which instead of triggering method_missing
      and generating a new collector method, actually
      invoked the private method `touch` inherited from
      Object.
      
      By generating the method for each mime type as it
      is registered, the private methods on Object can
      never be reached by `send`, because the `Collector`
      will have them before `send` is called on it.
      
      To do this, a callback mechanism was added to Mime::Type
      
      This allows someone to add a callback for whenever
      a new mime type is registered. The callback then
      gets called with the new mime as a parameter.
      
      This is then used in AbstractController::Collector
      to generate new collector methods after each mime
      is registered.
      021f3d24
  11. 04 7月, 2012 2 次提交
  12. 01 7月, 2012 1 次提交
    • G
      Remove ActiveModel dependency from ActionPack · 166dbaa7
      Guillermo Iguaran 提交于
      ActiveModel is used in ActionPack for ActiveModel::Naming for a few,
      mostly optional aspects of ActionPack related to automatically converting
      an ActiveModel compliant object into a key for params and routing. It uses
      only three methods of ActiveModel (ActiveModel::Naming.route_key,
      ActiveModel::Naming.singular_route_key and ActiveModel::Naming.param_key).
      166dbaa7
  13. 29 6月, 2012 1 次提交
    • J
      Revert "Allow loading external route files from the router" · 5e7d6bba
      José Valim 提交于
      This reverts commit 6acebb38.
      
      Usage of this feature did not reveal any improvement in existing apps.
      
      Conflicts:
      
      	actionpack/lib/action_dispatch/routing/mapper.rb
      	guides/source/routing.textile
      	railties/lib/rails/engine.rb
      	railties/lib/rails/paths.rb
      	railties/test/paths_test.rb
      5e7d6bba
  14. 19 6月, 2012 1 次提交
    • J
      Ensure that cache-control headers are merged · 0b4e8c8d
      James Tucker 提交于
      There are several aspects to this commit, that don't well fit into broken down
      commits, so they are detailed here:
      
       * When a user uses response.headers['Cache-Control'] = some_value, then the
         documented convention in ConditionalGet is not adhered to, in this case,
         response.cache_control is ignored due to `return if
         self[CACHE_CONTROL].present?`
       * When a middleware sets cache-control headers that would clobber, they're
         converted to symbols directly, without underscores. This would lead to bugs.
       * Items that would live in :extras if set through expires_in, are placed
         directly in the @cache_control hash, and not respected in many cases
         (somewhat adhering to the aforementioned documentation).
       * Although quite useless, any directive named 'extras' would be ignored.
      
      The general convention applied is that expires_* take precedence, but no longer
      overwrite everything and expires_* are ALWAYS applied, even if the header is
      set.
      
      I am still unhappy about the contents of this commit, and the code in general.
      Ideally it should be refactored to no longer use :extras. I'd likely recommend
      expanding @cache_control into a class, and giving it the power to handle the
      merge in a more efficient fashion. Such a commit would be a larger change that
      could have additional semantic changes for other libraries unless they utilize
      expires_in in very standard ways.
      0b4e8c8d
  15. 15 6月, 2012 3 次提交
  16. 13 6月, 2012 4 次提交
  17. 12 6月, 2012 2 次提交
  18. 01 6月, 2012 2 次提交
    • J
      Merge pull request #6588 from nbibler/polymorphic_to_model · 5c565a29
      José Valim 提交于
      Correct the use of to_model in polymorphic routing
      5c565a29
    • P
      Include routes.mounted_helpers into integration tests · 65250022
      Piotr Sarnacki 提交于
      In integration tests, you might want to use helpers from engines that
      you mounted in your application. It's not hard to add it by yourself,
      but it's unneeded boilerplate. mounted_helpers are now included by
      default. That means that given engine mounted like:
      
          mount Foo::Engine => "/foo", :as => "foo"
      
      you will be able to use paths from this engine in tests this way:
      
          foo.root_path #=> "/foo"
      
      (closes #6573)
      65250022
  19. 31 5月, 2012 2 次提交
  20. 25 5月, 2012 2 次提交
  21. 24 5月, 2012 1 次提交
    • V
      Revert "Remove blank trailing comments" · 1ad0b378
      Vijay Dev 提交于
      This reverts commit fa6d921e.
      
      Reason: Not a fan of such massive changes. We usually close such changes
      if made to Rails master as a pull request. Following the same principle
      here and reverting.
      
      [ci skip]
      1ad0b378
  22. 23 5月, 2012 1 次提交
  23. 22 5月, 2012 1 次提交
  24. 21 5月, 2012 3 次提交
    • A
      Return 400 Bad Request for URL paths with invalid encoding. · 3fc561a1
      Andrew White 提交于
      Passing path parameters with invalid encoding is likely to trigger errors
      further on like `ArgumentError (invalid byte sequence in UTF-8)`. This will
      result in a 500 error whereas the better error to return is a 400 error which
      allows exception notification libraries to filter it out if they wish.
      
      Closes #4450
      3fc561a1
    • A
      Raise ActionController::BadRequest for malformed parameter hashes. · 66eb3f02
      Andrew White 提交于
      Currently Rack raises a TypeError when it encounters a malformed or
      ambiguous hash like `foo[]=bar&foo[4]=bar`. Rather than pass this
      through to the application this commit captures the exception and
      re-raises it using a new ActionController::BadRequest exception.
      
      The new ActionController::BadRequest exception returns a 400 error
      instead of the 500 error that would've been returned by the original
      TypeError. This allows exception notification libraries to ignore
      these errors if so desired.
      
      Closes #3051
      66eb3f02
    • A
      Correct order of expected and actual arguments · 972376a9
      Andrew White 提交于
      972376a9