2016-08-13 1 views
2

Welches ist der beste Weg, um eine Entwurfsversion eines Modells zu haben? Ich habe ein Kursmodell mit seinen Beschreibungen und Unterrichtsmodellen.Rails 5. Entwurfsversion und Veröffentlichungsversion des Modells

class Course < ApplicationRecord 
has_many :lessons 
has_one :description 
... 
end 

class Description < ApplicationRecord 
belongs_to :course 
... 
end 

class Lesson < ApplicationRecord 
belongs_to :course 
... 
end 

Die Beschreibung und die Lektion Modell haben eine Zustandsmaschine mit einem „veröffentlicht“ -Status, dass, wenn sie es haben, werden ihre Informationen veröffentlicht. Ich brauche die Entwurfsversion, um ihre Informationen zu ändern, ohne die veröffentlichten Informationen zu ändern. Wie kann ich das machen?


PD: Ich habe versucht, den Zeichner Juwel zu verwenden, aber mit Rails nicht 5.

Antwort

0

Sie könnten versuchen, draftpunk oder nutzen ihre Ansatz arbeiten, um Ihre individuelle Lösung zu implementieren.

https://github.com/stevehodges/draftpunk

Idee ist Speicher einen Entwurf in der gleichen Datenbanktabelle zu erstellen. Nur mit einem ID-Referer. In Ihrer Anwendung haben Sie dafür Sorge zu tragen:

  1. Anzeige an Endverbraucher -> einen Bereich, wo Sie nur nicht-Entwürfe zurückkehren (so die fremde ID ist gleich Null)
  2. Bei Anruf bearbeiten -> den Entwurf zurückzukehren Version des Modells, wenn nil -> eine erstellen. Lassen Sie den Benutzer nur Entwurfsversionen bearbeiten.
  3. -Setup eine Aktion und eine Schaltfläche in Ihrem Frontend veröffentlichen: Rufen Sie eine Funktion ‚veröffentlichen‘, in dem Prozess

Ich bin interessiert, wie Sie am Ende

kümmern veröffentlichen die Daten der Handhabung