我想创建一个页面,其中显示由其他用户创建的资源,但隐藏current_user创建的资源。有没有一种方法或某种方式我可以这样做?
class ExamplesController < ApplicationController
def index
@examples = Example.all.order("created_at DESC")
@creator_examples = Example.where(creator: current_user).order("created_at DESC") <---hide this!!!
end
答案 0 :(得分:1)
您可以简单地将where
子句操作为以下内容:
def index
@examples = Example.all.order("created_at DESC")
@creator_examples = @examples.where.not(id: current_user.id)
end
这适用于导轨4,如果您使用导轨3
@creator_examples = Example.where("id != ?", current_user.id)
注意 - &gt; rails.3中的示例.all返回一个数组,因此您无法使用where