经审核可与当前版本和以前的版本一起使用。我想要的是再有一个版本,将来的版本,也就是草案。
对象的当前版本可在任何地方使用。但是,在管理屏幕中,您可以访问和编辑对象的将来/草稿版本。这使您可以进行其他人看不到的修改。草稿准备好后,您将其发布,使其成为在各处使用的当前版本。
我对此没有任何支持。
答案 0 :(得分:0)
我没有使用经过审核的gem来提供“草稿”模式。相反,我向模型添加了一个名为 active 的布尔值,并声明了
default_scope { where(active: true) }
scope :active, -> { where(active: true ) }
scope :draft, -> { where(active: false) }
然后,在控制器中,为管理员提供一种查看草稿项目的方法:
def in_draft
# Admins can see all items in draft status.
# Sellers can see only their own items in draft status.
# Buyers can't get here at all because of the authorizations
if current_tuser.role == "Themadmin"
@seller_listings = Listing.unscoped.draft
end
end
最后,控制器中用于发布项目的方法:
80 def publish
81 @listing = Listing.unscoped.find(params[:id])
82 @listing.active = true
83 respond_to do |format|
84 if @listing.save!
85 format.html {redirect_to @listing, notice: 'Listing changed from draft to published.'}
86 else
87 format.html {redirect_to @listing, notice: 'Something went wrong'}
88 end
89 end
90 end