从JSON响应中排除错误对象

时间:2016-02-17 17:00:19

标签: ruby-on-rails

我已经四处搜索了,所以我很抱歉,如果这是某个地方被问过的话,我可能会用不正确的词语进行搜索。

我在名为activity的模型上有一个名为self.hidden的方法,它接受一个布尔值。目的是仅显示未隐藏到客户端的活动,而不是同时返回true / false。我试图在不创建新路线的情况下尝试这样做,并且只使用现有的活动路线。

2 个答案:

答案 0 :(得分:0)

您可以创建一个类方法visible来仅返回应该可见的记录:

def self.visible
  self.where(hidden: false)
end

因此,您可以调用ClassName.visible来获取所有可见对象

答案 1 :(得分:0)

使用akz92的答案,您可以在控制器中执行以下操作:

class MyController < AnotherController
  def index
    render json: Activity.visible
  end
end

此外,如果您需要其他范围/条件,您可以链接它们:

class MyController < AnotherController
  def index
    render json: activities.visible
  end

  private

  def activities
    Activity.where(description: 'Added by Admin') 
  end
end