Sie können nicht wirklich „add“ ein Attribut zu einem Modell, tun Sie, dass durch die Migrationsdatei erstellen und es läuft - Rails Zahlen heraus, welche Attribute ein Modell basierend auf welchen Spalten in der Datenbank hat. Sie müssen jedoch do dem Modell eine Zeile hinzufügen, um das Attribut auf die weiße Liste zu setzen, wenn Sie es über die Massenzuweisung aktualisieren möchten. Deshalb werden Sie oft eine Zeile wie diese in Activerecord Modelle sehen:
attr_accessible :name
Aber das ist optional und nicht wesentlich für das Hinzufügen des Attributs.
Um tatsächlich das neue Attribut zu Ihrem Modell hinzuzufügen, erstellen Sie zuerst eine Migration mit:
rails g migration AddAddressToPerson address:string
, dass die Migrationsdatei in dem db/Migration/Verzeichnis erstellen. (Das Formular "AddXXXToYYY" und "RemoveXXXFromYYY" wird unter Schienen verstanden, um "Hinzufügen (oder Entfernen) einer neuen Spalte zum Modell XXX" zu bedeuten, siehe documentation für Details). In diesem Fall habe ich ein Attribut namens address
hinzugefügt, das eine Zeichenkette ist, aber Sie könnten das ändern, was immer Sie wollen. wenn Sie auf das Attribut Massenzuordnung zulassen möchten, fügen Sie das Attribut in die Liste der Argumente zu attr_accessible
rake db:migrate
Schließlich:
Dann tatsächlich die Datenbank zu aktualisieren, müssen Sie die Migration mit rake
laufen :
attr_accessible :name, :address
Das sollte es tun.
FYI: Ihre 'Massenaufgabe' Link gibt mir eine 404. – Niek
Danke, Link entfernt. –