Recive JS对象并从数据库中获取数据

时间:2016-04-20 12:45:09

标签: ruby-on-rails

我在前端使用Angular,我正在尝试发送对象,例如:

obj = {
  "foo" : "1",
  "bar" : 2,
  "baz" : 3
}

当Rails重现此对象时,它应该根据这些参数从数据库发回数据。这是我目前创建API的方法:

  def index
    @tickets = Ticket.select(
      'id',
      'departure_date',
      'departure_country',
      'departure_country_tag'
    )
    render status:200, json: { tickets: @tickets}
  end

然而,这会从数据库中获取所有数据。我只想获取与对象中的参数匹配的数据。

有关如何正确执行此操作的任何建议吗?

1 个答案:

答案 0 :(得分:1)

选择允许您指定要返回的属性。您需要使用前端的值为该查询添加子句。

@tickets = Ticket.select(
  'id',
  'departure_date',
  'departure_country',
  'departure_country_tag'
).where(foo: obj["foo"], bar: obj["bar"], baz: obj["baz"])

如果查看控制台,您将看到数据的传递方式,您可以相应地修改活动记录查询。