diff options
Diffstat (limited to 'actionpack/lib/action_view')
-rw-r--r-- | actionpack/lib/action_view/base.rb | 15 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/tag_helper.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/paths.rb | 10 | ||||
-rw-r--r-- | actionpack/lib/action_view/template.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/template_handlers/erb.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/template_handlers/rjs.rb | 1 |
6 files changed, 22 insertions, 10 deletions
diff --git a/actionpack/lib/action_view/base.rb b/actionpack/lib/action_view/base.rb index da1f283deb..33517ffb7b 100644 --- a/actionpack/lib/action_view/base.rb +++ b/actionpack/lib/action_view/base.rb @@ -5,7 +5,7 @@ module ActionView #:nodoc: class MissingTemplate < ActionViewError #:nodoc: def initialize(paths, path, template_format = nil) full_template_path = path.include?('.') ? path : "#{path}.erb" - display_paths = paths.join(':') + display_paths = paths.compact.join(":") template_type = (path =~ /layouts/i) ? 'layout' : 'template' super("Missing #{template_type} #{full_template_path} in view path #{display_paths}") end @@ -183,13 +183,17 @@ module ActionView #:nodoc: @@exempt_from_layout.merge(regexps) end + @@debug_rjs = false + ## + # :singleton-method: # Specify whether RJS responses should be wrapped in a try/catch block # that alert()s the caught exception (and then re-raises it). - @@debug_rjs = false cattr_accessor :debug_rjs - # A warning will be displayed whenever an action results in a cache miss on your view paths. @@warn_cache_misses = false + ## + # :singleton-method: + # A warning will be displayed whenever an action results in a cache miss on your view paths. cattr_accessor :warn_cache_misses attr_internal :request @@ -275,7 +279,7 @@ module ActionView #:nodoc: if defined? @template_format @template_format elsif controller && controller.respond_to?(:request) - @template_format = controller.request.template_format + @template_format = controller.request.template_format.to_sym else @template_format = :html end @@ -327,9 +331,6 @@ module ActionView #:nodoc: elsif (first_render = @_render_stack.first) && first_render.respond_to?(:format_and_extension) && (template = self.view_paths["#{template_file_name}.#{first_render.format_and_extension}"]) template - elsif template_format == :js && template = self.view_paths["#{template_file_name}.html"] - @template_format = :html - template else template = Template.new(template_path, view_paths) diff --git a/actionpack/lib/action_view/helpers/tag_helper.rb b/actionpack/lib/action_view/helpers/tag_helper.rb index 2bdd960f4c..3b301248ff 100644 --- a/actionpack/lib/action_view/helpers/tag_helper.rb +++ b/actionpack/lib/action_view/helpers/tag_helper.rb @@ -97,7 +97,7 @@ module ActionView # Returns an escaped version of +html+ without affecting existing escaped entities. # # ==== Examples - # escape_once("1 > 2 & 3") + # escape_once("1 < 2 & 3") # # => "1 < 2 & 3" # # escape_once("<< Accept & Checkout") diff --git a/actionpack/lib/action_view/paths.rb b/actionpack/lib/action_view/paths.rb index ecb6103ade..9c8b8ade1e 100644 --- a/actionpack/lib/action_view/paths.rb +++ b/actionpack/lib/action_view/paths.rb @@ -41,7 +41,7 @@ module ActionView #:nodoc: class Path #:nodoc: attr_reader :path, :paths - delegate :to_s, :to_str, :hash, :inspect, :to => :path + delegate :hash, :inspect, :to => :path def initialize(path, load = false) raise ArgumentError, "path already is a Path class" if path.is_a?(Path) @@ -49,6 +49,14 @@ module ActionView #:nodoc: reload! if load end + def to_s + if defined?(RAILS_ROOT) + path.to_s.sub(/^#{Regexp.escape(File.expand_path(RAILS_ROOT))}\//, '') + else + path.to_s + end + end + def ==(path) to_str == path.to_str end diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb index 52378e049e..e32b7688d0 100644 --- a/actionpack/lib/action_view/template.rb +++ b/actionpack/lib/action_view/template.rb @@ -9,9 +9,9 @@ module ActionView #:nodoc: def initialize(template_path, load_paths = []) template_path = template_path.dup + @load_path, @filename = find_full_path(template_path, load_paths) @base_path, @name, @format, @extension = split(template_path) @base_path.to_s.gsub!(/\/$/, '') # Push to split method - @load_path, @filename = find_full_path(template_path, load_paths) # Extend with partial super powers extend RenderablePartial if @name =~ /^_/ diff --git a/actionpack/lib/action_view/template_handlers/erb.rb b/actionpack/lib/action_view/template_handlers/erb.rb index f8d3da15be..e3120ba267 100644 --- a/actionpack/lib/action_view/template_handlers/erb.rb +++ b/actionpack/lib/action_view/template_handlers/erb.rb @@ -3,6 +3,8 @@ module ActionView class ERB < TemplateHandler include Compilable + ## + # :singleton-method: # Specify trim mode for the ERB compiler. Defaults to '-'. # See ERb documentation for suitable values. cattr_accessor :erb_trim_mode diff --git a/actionpack/lib/action_view/template_handlers/rjs.rb b/actionpack/lib/action_view/template_handlers/rjs.rb index a700655c9a..41a1fddb47 100644 --- a/actionpack/lib/action_view/template_handlers/rjs.rb +++ b/actionpack/lib/action_view/template_handlers/rjs.rb @@ -4,6 +4,7 @@ module ActionView include Compilable def compile(template) + "@template_format = :html;" + "controller.response.content_type ||= Mime::JS;" + "update_page do |page|;#{template.source}\nend" end |