我该如何隐藏资源?

时间:2015-02-04 00:31:21

标签: sql ruby-on-rails

我想创建一个页面,其中显示由其他用户创建的资源,但隐藏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

1 个答案:

答案 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

链接它