Об операторе "<<" в этом случае ассоциации Rails

Я новичок в Ruby on Rails. В приложении Rails я увидел код следующего вида:

В model есть класс Car:

class Car < ActiveRecord::Base
  ...
end

В controller есть метод "some_method"

class CarsController < ApplicationController

   def some_method
      @my_car = Car.new()

      #What does the following code do? 
      #What does "<<" mean here?
      @my_car.components << Component.new()
   end


end

У меня три вопроса:

1. В коде в контроллере @my_car.components << Component.new() , что он делает? Что означает << ?

2. Есть ли другие варианты использования "<<" в Ruby-On-Rails или в Ruby ?

3. Должен ли класс Car явно определить ассоциацию has_many с классом Component, если используется "<<" Или же "<<" может использоваться для добавления новой ассоциации к Car, даже если ассоциация не определена в классе Car явно?

10
задан Simone Carletti 26 October 2011 в 08:49
поделиться