2016-07-09 1 views
-6

Hallo Leute ich habe hier eine Herausforderung bitte jemand sollte helfen. Ich habe die Modelle für Farbe und sub_color unten und ich habe die Ids von sub_color und Farbe in Benutzer Tabelle. jetzt will ich show.html.erb so etwas wie dies in BenutzerWie greife ich auf das Benutzerfeld in der show-Seite zu?

<% @ user.sub_color.name% tun> #Dies nicht

aber <% user.email%> #Dies Werke arbeitet. Ich versuchte auch

<% @ user_color.id%> das hat nicht funktioniert. Dies gibt undefined Methode 'ID' für Nil: Klasse.

Alles, was ich falsch mache, bitte. Danke im Voraus.

Modell für sub_color

has_many: Benutzer belongs_to: Farbe

Ende

Modell für Farbe

has_many: sub_color

Ende

+0

Sie erstellen Migrationen für jede Änderung, die Sie an einer Entität vornehmen möchten. Sie können auch eine Migration erstellen, um mehrere zugehörige Änderungen an einer Entität vorzunehmen, die jedoch keine bewährten Methoden widerspiegelt. Ihre Formulierungen legen nahe, dass Sie nicht wissen, was eine Migration ist. Jetzt wäre eine gute Zeit, um die [Grundlagen] (http://edgeguides.rubyonrails.org/active_record_migrations.html) zu überprüfen. – MarsAtomic

+0

Nicht sicher, was zu breit über eine Frage von einem Junior sein kann, der nur ein generalisiertes Bild braucht. Viele Fragen könnten zu weit gefasst sein, wenn Sie jedes Detail zu einem Thema erklären. –

Antwort

1

Willkommen zu den Schienen wo Rld! Als erstes muss erwähnt werden, dass Ruby eine Sprache ist und Rails ein Framework ist, das Ruby-Sprache verwendet. Migrationen sind ein Teil von Rails und gehören nicht zu Ruby.

Nun zu Ihrer Frage zu Migrationen. Ja, jede Tabelle benötigt Migrationen für ihre Erstellung und spätere Migrationen für jede Tabellenanpassung/-änderung, falls erforderlich (es sei denn, Sie möchten alle Ihre Tabellenänderungen über reines SQL durchführen, was Sie NICHT tun).

Und ein weiterer Teil Ihrer Frage über Datenbanken. In einem einfachen Fall soll Rails 3 Datenbanken für 3 verschiedene Zwecke haben - Entwicklung, Test und Produktion. Sie verwenden für alle dieselben Migrationen. Zunächst wenden Sie Ihre Migrationen auf Ihre lokale Entwicklungsdatenbank an und führen die Codeimplementierung durch. Parallel schreiben Sie Tests und wenden dieselben Migrationen auf Ihre Testdatenbank an. Wenn Sie fertig sind, stellen Sie alles auf Ihrem Produktionsserver bereit und wenden Ihre Migrationen auf die Produktionsdatenbank an.

Ich denke, es ist ein allgemeiner Workflow mit Migrationen. Wie für Details, sollten Sie wirklich gehen über migrations manual oder noch besser mit "Getting Started" Abschnitt beginnen.

+0

Sie sind der Chef. – Dlaw

Verwandte Themen