Seite 1 von 1

View durch Migration aktualisieren

BeitragVerfasst: 01.06.2009, 12:39
von thunderwave
Hallo Leute, ich habe vor kurzem mit Ruby und Rails rumprobiert und möchte jetzt ein kleines Projekt schreiben.

Mein Problem:
Ich habe mit ruby script/generate scaffold teacher mir das ganze generieren lassen (Migrationsdatei, Controller und View).

Nun habe ich die Migrationsdatei: db/<TIMESTAMP>_create_teachers.rb editiert, ich habe eine Felder hinzugefügt also manuell reingeschrieben, nicht über die Konsole oder so.

Dann habe ich ein rake db:migrate ausgeführt und gehofft, dass folgendes passiert:
1. Meine Datenbank bwz. Tabellen-Struktur von der Tabelle / Klasse teacher angepasst wird (um die neuen Felder)
2. Meine View neu generiert wird, z.B. wenn ich einen neuen Eintrag erstellen möchte, dann taucht auch für das neue Feld ein Formular-Feld auf.

Aber nix da, die Tabellenstruktur verändert sich nicht. In dem OpenBook Galileo Tutorial für Rails 2.0 haben die auch mit rake db:migrate das aktualisieren können. Bei mir hat es erst mit rake db:reset geklappt (aber dann werden alle Datensätze gelöscht).
Na ja, viel unpraktischer finde ich dass ich in der View dann die ganzen Formular-Felder von Hand nachtragen muss, geht das nicht irgendwie automatisch?

Ich meine nicht so: ruby script/generate scaffold teacher neuesFeld:string
Weil da muss man sich ja schon von ganz Anfang auf die Struktur festlegen, ich möchte es nachträglich noch ändern, wie kann ich nachträglich die Migrationsdatei ändern, damit es in der View aktualisisiert wird?

So sieht meine Migrationsdatei aus

Code: Alles auswählen
class CreateTeachers < ActiveRecord::Migration
  def self.up
    create_table :teachers do |t|
      t.string :firstname
      t.string :lastname
      t.string :phone
      t.date :birthday
      t.text :comment

      t.timestamps
    end
  end

  def self.down
    drop_table :teachers
  end
end


Ruby (1.8.7)
Rails (2.3.2)
RubyGems (1.3.3)
DB: sqlite3
OS: Mac OS X

Gruß
Thunderwave