2016-08-13 6 views
2

モデルのドラフトバージョンを使用する最もよい方法はどれですか? 私は彼の説明とレッスンモデルを持つコースモデルを持っています。Rails 5.モデルのドラフトバージョンと公開バージョン

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

class Description < ApplicationRecord 
belongs_to :course 
... 
end 

class Lesson < ApplicationRecord 
belongs_to :course 
... 
end 

説明とレッスンのモデルは、彼らがそれを持っている場合、その情報が公開されることを、「公表」状態でステートマシンを持っています。公開された情報を変更せずに情報を変更するには、ドラフト版が必要です。これどうやってするの?


PD:私は製図の宝石を使用しようとしましたが、あなたがdraftpunkを試すか、カスタムソリューションを実装するために彼らのアプローチを使用することができますRailsの5

答えて

0

では動作しません。

https://github.com/stevehodges/draftpunk

アイデアは、ストアに同じデータベーステーブルのドラフトバージョンを作成することです。 idのrefererと一緒に。お使いのアプリケーションであなたが世話をする必要があります。エンドユーザーに

  1. 表示 - >あなただけの非ドラフトを返すスコープを作る(その外国idがnilである)
  2. コール・編集するとき - >ドラフトを返しますモデルのバージョン、もしnilなら - >作成する。ユーザーがドラフト版を編集できるようにする。
  3. セットアップは、フロントエンドでアクションボタンを公開:あなたはデータを扱うの世話を呼び出して「公開」関数は、プロセス

を公開私はあなたが

を終わるか興味があります