我正在编写API;在此API中,我有一个FruitBasket
模型,其中包含Fruits
。特定水果一次可能属于多个FruitBasket。 FruitBasket
和Fruit
都是ActiveRecord
个对象。
如果有人在GET
上执行/fruit/100/baskets
,我想以篮子ID的形式提供包含该水果的篮子的JSON列表。如果只有一个购物篮,我想重定向到/basket/x
,其中x
是购物篮的ID。像这样:
class FruitsController < ApplicationController
respond_to :json
def baskets
@baskets = Fruit.find(params[:id]).baskets
if baskets.size == 1
# What goes here?
else
respond_with @baskets
end
end
end
我应该在routes
和FruitsController
中放置什么来解决此问题?
答案 0 :(得分:1)
我不确定你是否真的想将它们重定向到那里,但如果你必须:
...
if @baskets.size == 1
redirect_to @baskets.first
else
...
然而,期望API能够简单地返回一个Baskets数组,如果只有一个篮子,那么它将是一个包含一个项目的数组。