1. 24 12月, 2013 1 次提交
    • C
      Move the null mime type to request.format · 618d5317
      Carlos Antonio da Silva 提交于
      TLDR: always return an object that responds to the query methods from
      request.format, and do not touch Mime::Type[] lookup to avoid bugs.
      
      ---
      
      Long version:
      
      The initial issue was about being able to do checks like
      request.format.html? for request with an unknown format, where
      request.format would be nil.
      
      This is where the issue came from at first in #7837 and #8085
      (merged in cba05887), but the
      implementation went down the path of adding this to the mime type
      lookup logic.
      
      This unfortunately introduced subtle bugs, for instance in the merged
      commit a test related to send_file had to be changed to accomodate the
      introduction of the NullType.
      
      Later another bug was found in #13064, related to the content-type being
      shown as #<Mime::NullType:...> for templates with localized extensions
      but no format included. This one was fixed in #13133, merged in
      43962d6e.
      
      Besides that, custom handlers were not receiving the proper template
      formats anymore when passing through the rendering process, because of
      the NullType addition. That was found while migrating an application
      from 3.2 to 4.0 that uses the Markerb gem (a custom handler that
      generates both text and html emails from a markdown template).
      
      ---
      
      This changes the implementation moving away from returning this null
      object from the mime lookup, and still fixes the initial issue where
      request.format.zomg? would raise an exception for unknown formats due to
      request.format being nil.
      618d5317
  2. 03 12月, 2013 2 次提交
  3. 14 11月, 2013 1 次提交
  4. 09 9月, 2013 2 次提交
  5. 05 9月, 2013 1 次提交
  6. 03 9月, 2013 2 次提交
  7. 25 8月, 2013 11 次提交
  8. 10 4月, 2013 2 次提交
  9. 22 2月, 2012 1 次提交
  10. 17 1月, 2012 2 次提交
  11. 19 4月, 2011 1 次提交
  12. 09 2月, 2011 1 次提交
  13. 20 11月, 2010 1 次提交
  14. 10 10月, 2010 1 次提交
  15. 14 3月, 2010 1 次提交
  16. 13 3月, 2010 1 次提交
  17. 08 3月, 2010 4 次提交
  18. 02 3月, 2010 2 次提交
  19. 25 2月, 2010 2 次提交
  20. 22 2月, 2010 1 次提交