我有以下型號:添加相關的表到現有的表(書>修訂)
class Instance < ActiveRecord::Base
has_many :users
has_many :books
end
class User < ActiveRecord::Base
belongs_to :instance
end
class Book < ActiveRecord::Base
belongs_to :instance
end
我現在想添加一個BookRevision表,具有下列列 (ID,USER_ID,版本#(自動遞增),DIFF(老書複印件), 時間戳) 邏輯:
- 當一本書被創建,記錄是 添加到BookRevision表,所以 我們知道是誰創建的書 首位
- 當一本書被更新,記錄被添加了USER_ID(可能是 不同的用戶),以及新版本
,老書的文本,作爲存檔。
考慮到我有實例,用戶,書籍表在我的軌道 添加實施,這些都是正確的步驟,使上面的來的生活? - 添加遷移的BookRevision表.... 軌產生遷移AddTableBookRevision USER_ID:整數 版本:整數DIFF:文本 - 然後按以下步驟更新機型:
class Instance < ActiveRecord::Base
has_many :users
has_many :books
end
class User < ActiveRecord::Base
belongs_to :instance
end
class Book < ActiveRecord::Base
belongs_to :instance
has_many :BookRevisions
end
class BookRevision < ActiveRecord::Base
belongs_to :Book
end
然後在我的控制器,當增加一本新書?現在我有:
@book = Book.create(params[:book].merge(:instance_id =>
current_user.instance_id))
我該如何更新以說明BookRevision關聯? 感謝您的幫助!