3
在Ruby对象,我试图让一个API,我的网站,而不是使用这样一个数组:Rabl的 - 渲染收款作为与ID作为on Rails的4个按键
[{id: 1, name: "John"}, {id: 2, name: "Foo"}, {id: 3, name: "Bar"}]
我想使它像这样的,因为它使得它更容易通过javascript中搜索(及其他原因):
{"1": {id: 1, name: "John"}, "2": {id: 2, name: "Foo"}, "3": {id: 3, name: "Bar"}}
这工作:
# users/index.rabl
@users.each do |user|
node(users.id.to_s) do
partial('api/v1/users/show', object: user)
end
end
但是在部分中,我想要另一个元素集合(属于用户),我无法实现这个工作。有没有更优雅的方式来做到这一点?
动态密钥如'id'是API的不好选择。很难解析其他资源,因为它是动态的。恕我直言 –
@Зелёный你为什么这么认为?我也是自己问的,但我没有想到任何理由。例如,它使我的JavaScript更容易。现在,只有当另一个模型具有user_id属性时,才可以执行'users [1]',而不是遍历所有用户。 – hansottowirtz
我只是说我的意见,因为我已经建立了一个API,并选择与名称的关键,另一方面,iOS应用程序不能通过硬编码名称解析动态密钥。这只是我的看法。对于你的情况,这全是关于你的应用程序设计。只有当用户数超过100_000时,循环遍历所有用户才会让你感到难过,但在这里你可以将它分成几部分。简单的方法并不总是一个好方法。 –