Über den Operator "" in diesem Rails-Assoziationsfall

8

Ich bin ein Neuling in Ruby on Rails. In einer Rails-Anwendung sah ich Code wie folgt:

In Modell gibt es eine Klasse Car :

%Vor%

In controller gibt es eine Methode " some_method "

%Vor%

Ich habe drei Fragen zu stellen:

1. Was macht der Code im Controller @my_car.components << Component.new() ? Was << bedeutet?

2. Gibt es noch andere Verwendungen von "& lt; & lt;" in Ruby-On-Rails oder in Ruby?

3. Muss die Klasse Car die has_many Assoziation mit Component Klasse explizit definieren, wenn " & lt; & lt; " verwendet wird Oder ist die " & lt; & lt; "kann zum Hinzufügen einer neuen Assoziation zu Car verwendet werden, selbst wenn die Assoziation nicht explizit in Car class definiert ist?

    
Mellon 26.10.2011, 07:18
quelle

3 Antworten

14

Nach Ihrer Bearbeitung:

Punkt 1

%Vor%

ist dasselbe wie

%Vor%

Punkt 2

Sie können Elemente zu einer Sammlung hinzufügen oder sogar Zeichenfolgen verketten.

Einige Links:

Beachten Sie, dass Sie natürlich überladen oder Ihre eigenen definieren können.

Punkt 3

Beziehungen müssen explizit sein, andernfalls kann Rails keine geeigneten Methoden erstellen: @my_car.components hätte keinen Sinn.

    
apneadiving 26.10.2011, 07:23
quelle
1

Betreffend 1. & amp; 2. Ich habe die verschiedenen Bedeutungen von << hier zusammengefasst.

    
emboss 26.10.2011 08:05
quelle
0

& lt; & lt; fügt ein Element zu einem Array hinzu.

Im obigen Beispiel fügen Sie dem Car.components-Array eine neue Komponente hinzu. Es ist ein Teil von Ruby und du wirst sehen, dass es oft benutzt wird.

    
nheinrich 26.10.2011 07:23
quelle