2017-01-08 4 views
0

Ich habe erfolgreich eine neue Spalte 'page_title' in einer Tabelle 'Schedule_items' erstellt. 'page_title' existiert in der 'pages' Tabelle. 'page_id' existiert in der Tabelle 'schedule_items', daher weiß ich, dass das Einziehen eines Fremdschlüssels funktioniert, und kann im Modell 'schedule_item.rb' die Beziehung 'gehört_zu: Seite' sehen. Ich kann nicht herausfinden, wie man die Spalte "page_title" in die zugehörige Spalte "page_title" aus der Tabelle "pages" zieht. Jede Hilfe wird geschätzt, danke!Schienen neue Spalte Fremdschlüssel 'null'

+2

Bitte senden Sie uns eine [MCVE], so dass wir Sehen Sie, was Sie versucht haben und Ihnen besser helfen. –

Antwort

1

Schienen hat speziellen Code, der verstehen kann, wenn Sie belongs_to :page definieren, dass es nach einer Spalte namens page_id suchen sollte.

Rails hat keinen Code für andere Arten von Spalten. Es gibt keinen Code, der automatisch nach page_title sucht - wenn Sie das wollen, müssen Sie etwas anderes tun.

Ein gemeinsamer Weg des Umgangs mit dieser wäre eine Delegation zum Beispiel zu verwenden:

class Schedule 
    belongs_to :page 
    delegate :title, :to => page 

Dann sind Sie so etwas wie tun könnte:

schedule = Schedule.find(12345) 
schedule.title # => "Title for page associated with this schedule" 
+1

Hut ab vor dir für irgendeine Art von Sinn für diese Frage. – max

+0

: D manchmal kann ich es herausfinden ... meistens kann ich nicht ... :) –

Verwandte Themen