2012-10-12 17 views
8

Ich sehe viel Zeit, da im Namensattribut des Eingabe-Tags eckige Klammern stehen. Wozu dient es und warum wird es verwendet?Eckige Klammern im Namensattribut des Eingabe-Tags

 
    `input id="academy_name" name="academy[name]" size="30" type="text" />` 

Warum name = "Akademie [name]" und einfach nicht = "Akademie" nennen.

Bitte helfen!

+0

Es wrape Name in Akademie Hash, so wenn Sie param [: Akademie] geben Sie es alle Attribut für Akademie Objekt – Amar

+0

Oh habe es .... Danke Amar :) –

Antwort

10

Einige serverseitige Frameworks, einschließlich Ruby-Verpackung, diese Art der Notation als Hinweis verwenden, dass sie sollten Erstellen Sie die Daten in einem einzelnen serverseitigen Objekt (ein assoziatives Array - z. B. Karte - in Ruby on Rails Fall). Wenn Sie beispielsweise mit Ruby on Rails name = "user [email]" und name = "user [phone]" hatten und das Formular übermittelten, würden Sie in Ihrem Ruby on Rails-Code auf dem Server einen einzelnen Benutzer abrufen Objekt von der Anfrage und es hätte die Schlüssel E-Mail und Telefon drauf.

+0

Ok, hab es ... danke Dipak !! –

1

Es ist, weil der Entwickler-Array verwendet, und daher ist er die Namen in [] bar Klammern on Rails

+3

Im Falle von RoR wird es nicht angezeigt Array-Notation im Formular Es zeigt an, dass das Attribut 'name' zum Objekt 'academy' gehört. Wenn das Formular zurückgesendet wird, ordnet es die Attribute im Objekt 'academy' den entsprechenden Attributen zu. –

0

RoR ordnet die Attribute von Modellen innerhalb des Modellnamens, so dass, wenn Sie das Formular veröffentlichen Sie sie leicht zuordnen können, wie zum Beispiel:

Academy.create(params[:academy]) 

oder

@academy = Academy.find(params[:id]) 
@academy.update_attributes(params[:academy] 

(auch bekannt als Massenzuweisung).

Wenn Sie das academy Objekt mit überprüfen, es wird an das Formular in der params Hash gesendet, werden Sie sehen, dass es ein Element für jedes der Dinge in den eckigen Klammern enthalten hat.

+0

Ok Verstanden..Danke Michael !! –

Verwandte Themen