title: About "<<" operator in this Rails association case
body: <p>I am a newbie in Ruby on Rails. 
  In a Rails application, I saw some code like following:</p>
  
  <p>In <strong>model</strong>, there is a class <code>Car</code>:</p>
  
  <pre><code>class Car &lt; ActiveRecord::Base
    ...
  end
  </code></pre>
  
  <p>In <strong>controller</strong>, there is a method "<strong>some_method</strong>" </p>
  
  <pre><code>class CarsController &lt; ApplicationController
  
     def some_method
        @my_car = Car.new()
  
        #What does the following code do? 
        #What does "&lt;&lt;" mean here?
        @my_car.components &lt;&lt; Component.new()
     end
  
  
  end
  </code></pre>
  
  <p>I got three questions to ask:</p>
  
  <p><strong>1.</strong> In the code in controller <code>@my_car.components &lt;&lt; Component.new()</code> , what does it do? What <code>&lt;&lt;</code> means ?</p>
  
  <p><strong>2.</strong> Are there any other usages of "&lt;&lt;" in Ruby-On-Rails or in Ruby ?</p>
  
  <p><strong>3.</strong> Does <code>Car</code> class must explicitly define the <code>has_many</code> association with <code>Component</code> class if "<strong>&lt;&lt;</strong>" is used Or is the "<strong>&lt;&lt;</strong>" can be used to add a new association to <code>Car</code>, even the association is not defined in <code>Car</code> class explicitly?</p>