GET .json中的空数组与`where`

时间:2017-03-15 20:39:49

标签: ruby-on-rails json where

我试图首先获取 active=1并返回json。

# GET /banners.json
def index
  @banners = Banner.where(active: '1').first
end

这将返回一个空数组[]。 如果我改变并Banner.All正确返回所有数据

1 个答案:

答案 0 :(得分:2)

这与数据有关,而与代码有关。显然,您没有active等于1的任何横幅广告。如果有,Rails很诚实,可以为你归还。

优于此,您可以在Banner模型中创建范围,如下所示:

scope :active, -> { where(active: 1) }

在您的控制器中,您可以像下面这样称呼它:

def index
  @banners = Banner.active.first
end