0
我需要幫助收集發佈修訂列表。用戶應該能夠看到相同的列表,無論是原始帖子還是後續的任何修訂版本。我知道我必須以某種方式使用外鍵(revision_id)在當前帖子是修訂版時拉取其他修訂版,但我不知道如何。發佈修訂列表
此外,如果有更好的方法來做到這一點,我會提出建議。
post.rb
class Post < ActiveRecord::Base
#...
has_many :revisions, class_name: "Post", foreign_key: "revision_id"
#...
end
posts_controller.rb
class PostsController < ApplicationController
def show
@post = Post.find(params[:id])
if @post.revision_id = nil
@original = @post
else
@original = @post.revision_id
end
@revisions = @original.revisions.all
#...
end
end
這工作得很好!非常感謝。我很好奇如何過濾掉這些修改。你對我如何做到這一點有什麼看法? – anater
你想如何過濾它們?無論如何,你可以像往常一樣使用'scopes',例如:'@ post.original.revisions.your_current_scope'。 –
例如,創建新帖子時,您可以選擇將其改爲其他帖子的修訂版。但是,目前它會顯示所有帖子,其中包括修改其他帖子的帖子。我只想顯示有修改的帖子,但不是修改本身。 – anater