Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 7158

Show
Ignore:
Timestamp:
07/01/07 00:04:03 (3 years ago)
Author:
rick
Message:

Allow you to render views with periods in the name. Closes #8076 [norbert]

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/actionpack/CHANGELOG

    r7148 r7158  
    11*SVN* 
     2 
     3* Allow you to render views with periods in the name.  Closes #8076 [norbert] 
     4 
     5  render :partial => 'show.html.erb' 
    26 
    37* Improve capture helper documentation.  #8796 [kampers] 
  • trunk/actionpack/lib/action_view/partials.rb

    r6920 r7158  
    111111 
    112112      def partial_counter_name(partial_name) 
    113         "#{partial_name.split('/').last}_counter".intern 
     113        "#{partial_variable_name(partial_name)}_counter".intern 
     114      end 
     115 
     116      def partial_variable_name(partial_name) 
     117        partial_name.split('/').last.split('.').first.intern 
    114118      end 
    115119 
    116120      def extracting_object(partial_name, local_assigns, deprecated_local_assigns) 
     121        variable_name = partial_variable_name(partial_name) 
    117122        if local_assigns.is_a?(Hash) || local_assigns.nil? 
    118           controller.instance_variable_get("@#{partial_name}") 
     123          controller.instance_variable_get("@#{variable_name}") 
    119124        else 
    120125          # deprecated form where object could be passed in as second parameter 
     
    133138 
    134139      def add_object_to_local_assigns!(partial_name, local_assigns, object) 
    135         local_assigns[partial_name.intern] ||= 
     140        variable_name = partial_variable_name(partial_name) 
     141        local_assigns[variable_name] ||= 
    136142          if object.is_a?(ActionView::Base::ObjectWrapper) 
    137143            object.value 
    138144          else 
    139145            object 
    140           end || controller.instance_variable_get("@#{partial_name}") 
     146          end || controller.instance_variable_get("@#{variable_name}") 
    141147      end 
    142148  end 
  • trunk/actionpack/test/controller/render_test.rb

    r6950 r7158  
    135135  def partial 
    136136    render :partial => 'partial' 
     137  end 
     138 
     139  def partial_dot_html 
     140    render :partial => 'partial.html.erb' 
    137141  end 
    138142   
     
    394398  end 
    395399 
     400  def test_should_render_html_partial_with_dot 
     401    get :partial_dot_html 
     402    assert_equal 'partial html', @response.body 
     403  end 
     404 
    396405  def test_should_render_html_formatted_partial_with_rjs 
    397406    xhr :get, :partial_as_rjs