This project is archived and is in readonly mode.
Layout MIME type should match the response's
Reported by Roman Le Négrate | August 26th, 2008 @ 11:01 PM | in 2.x
Given layout.html.erb
and layout.js.erb
, GET /index.js
should cause layout.js.erb
to be picked as the layout.
This fails to happen if index.js.erb
tries to render a partial of another type inside itself (for example: _list.html.erb
), in which case layout.html.erb
is mistakenly picked.
I attached a failing test covering this bug.
Comments and changes to this ticket
-
Roman Le Négrate August 26th, 2008 @ 11:26 PM
- no changes were found...
-
Roman Le Négrate August 26th, 2008 @ 11:26 PM
Re-uploaded the failing test as there was a typo in the failing assertion.
-
Roman Le Négrate August 27th, 2008 @ 02:11 AM
Uploaded a second patch: the same test that was failing, along with an attempt at solving the problem.
The
mime_responds_test.rb
test suite now passes when run alone.Unfortunately, when running the full ActionPack test suite, another assertion fails inside the new test, for no apparent reason.
The only change I made is to remove the line
@template_format = :html
inActionView::Base#pick_template
. I don't understand what goes wrong when running the full suite; hopefully somebody can help me on this. -
Roman Le Négrate August 27th, 2008 @ 02:15 AM
- no changes were found...
-
josh August 29th, 2008 @ 05:01 PM
- State changed from new to open
- Tag changed from 2.1, actionpack, bug, controller, edge, patch, tested, tests to actionpack
+1 if you can get it working.
NOTE: test_layout_mime_should_match_responses should be broken up into separate cases
-
Roman Le Négrate August 30th, 2008 @ 10:38 PM
Joshua:
The 2nd patch fixes the bug as the (new) test passes. Plus, I use Rails with this patch applied in one of my projects and I noticed that that bug is now actually gone.
What is weird though, is that when the test suite is run in its entirety, an assertion within the same test (but different from the one which failed originally) then fails. Like some other test messed with the code and did not restore it to its original state afterward.
"test_layout_mime_should_match_responses should be broken up into separate cases": agreed.
-
josh December 3rd, 2008 @ 03:33 PM
- State changed from open to wontfix
tests still fail, let me know if you make more progress
-
josh December 3rd, 2008 @ 03:33 PM
- Assigned user set to josh
-
Roman Le Négrate December 3rd, 2008 @ 03:47 PM
Actually, not long after creating this ticket, I rewrote ActionView::Base#pick_template so that it behaves more consistently. And it's been working like a charm since then.
Currently, the rewrite is packaged in a plug-in and I haven't taken the time to make a patch for Rails out of it. I just put it up on GitHub for you to take a look and perhaps have a stab at it:
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>