我有一个可以是草稿或已发布形式的模型。如果模型是草稿,我使用布尔属性 Draft 设置为 true。如果项目不再是草稿,则设置为 false。
当我拉出所有这些模型的列表时,我希望草稿只对创建者可见。同时返回所有其他模型。
scoped = Model.All( if(:draft => true) ) 然后只选择返回 if (:creator_id => params[:currentUser)
我希望它返回除不属于当前用户的草稿之外的所有模型。因此,scoped 将仅包含由当前用户创建的草稿,并且仍将包含草稿设置为 false 的所有模型。
我可以使用活动记录执行此操作,还是必须执行一些 SQL CASE 语句?