mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed that partial rendering should look at the type of the first render to determine its own type if no other clues are available (like when using text.plain.erb as the extension in AM) (closes #10130) [java] Fixed that partials would be broken when using text.plain.erb as the extension #10130 [java]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8166 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
713ca5196d
commit
a76490d917
4 changed files with 25 additions and 2 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Fixed that partials would be broken when using text.plain.erb as the extension #10130 [java]
|
||||
|
||||
* Update README to use new smtp settings configuration API. Closes #10060 [psq]
|
||||
|
||||
* Allow ActionMailer subclasses to individually set their delivery method (so two subclasses can have different delivery methods) #10033 [zdennis]
|
||||
|
|
|
@ -20,6 +20,12 @@ class RenderMailer < ActionMailer::Base
|
|||
subject "rendering rxml template"
|
||||
from "tester@example.com"
|
||||
end
|
||||
|
||||
def included_subtemplate(recipient)
|
||||
recipients recipient
|
||||
subject "Including another template in the one being rendered"
|
||||
from "tester@example.com"
|
||||
end
|
||||
|
||||
def initialize_defaults(method_name)
|
||||
super
|
||||
|
@ -70,6 +76,11 @@ class RenderHelperTest < Test::Unit::TestCase
|
|||
mail = RenderMailer.deliver_rxml_template(@recipient)
|
||||
assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<test/>", mail.body.strip
|
||||
end
|
||||
|
||||
def test_included_subtemplate
|
||||
mail = RenderMailer.deliver_included_subtemplate(@recipient)
|
||||
assert_equal "Hey Ho, let's go!", mail.body.strip
|
||||
end
|
||||
end
|
||||
|
||||
class FirstSecondHelperTest < Test::Unit::TestCase
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Fixed that partial rendering should look at the type of the first render to determine its own type if no other clues are available (like when using text.plain.erb as the extension in AM) #10130 [java]
|
||||
|
||||
* Fixed that has_many :through associations should render as collections too #9051 [mathie/danger]
|
||||
|
||||
* Added :mouseover short-cut to AssetTagHelper#image_tag for doing easy image swaps #6893 [joost]
|
||||
|
|
|
@ -287,7 +287,7 @@ module ActionView #:nodoc:
|
|||
raise ActionViewError, "No #{template_handler_preferences.to_sentence} template found for #{template_path} in #{view_paths.inspect}"
|
||||
end
|
||||
template_file_name = full_template_path(template_path, template_extension)
|
||||
template_extension = template_extension.gsub(/^\w+\./, '') # strip off any formats
|
||||
template_extension = template_extension.gsub(/^.+\./, '') # strip off any formats
|
||||
end
|
||||
else
|
||||
template_file_name = template_path
|
||||
|
@ -490,7 +490,9 @@ module ActionView #:nodoc:
|
|||
|
||||
# Determines the template's file extension, such as rhtml, rxml, or rjs.
|
||||
def find_template_extension_for(template_path)
|
||||
find_template_extension_from_handler(template_path, true) || find_template_extension_from_handler(template_path)
|
||||
find_template_extension_from_handler(template_path, true) ||
|
||||
find_template_extension_from_handler(template_path) ||
|
||||
find_template_extension_from_first_render()
|
||||
end
|
||||
|
||||
def find_template_extension_from_handler(template_path, formatted = nil)
|
||||
|
@ -511,6 +513,12 @@ module ActionView #:nodoc:
|
|||
end
|
||||
nil
|
||||
end
|
||||
|
||||
# Determine the template extension from the <tt>@first_render</tt> filename
|
||||
def find_template_extension_from_first_render
|
||||
extension = @first_render.to_s.sub /^\w+\.?/, ''
|
||||
extension.blank? ? nil : extension
|
||||
end
|
||||
|
||||
# This method reads a template file.
|
||||
def read_template_file(template_path, extension)
|
||||
|
|
Loading…
Reference in a new issue