1
0
Fork 0
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:
David Heinemeier Hansson 2007-11-18 22:01:33 +00:00
parent 713ca5196d
commit a76490d917
4 changed files with 25 additions and 2 deletions

View file

@ -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]

View file

@ -21,6 +21,12 @@ class RenderMailer < ActionMailer::Base
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
mailer_name "test_mailer"
@ -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

View file

@ -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]

View file

@ -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)
@ -512,6 +514,12 @@ module ActionView #:nodoc:
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)
File.read(template_path)