0

我正在编写一个 API;在这个 API 中,我有一个FruitBasket模型,它有Fruits. 一个特定的 Fruit 一次可能属于多个 FruitBasket。FruitBasket并且Fruit都是ActiveRecord对象。

如果有人执行GETon /fruit/100/baskets,我想以篮子 ID 的形式提供包含该水果的篮子的 JSON 列表。如果只有一个篮子,我想重定向到,篮子的 id 在/basket/x哪里。x像这样的东西:

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这个?

4

1 回答 1

1

我不确定您是否真的想将它们重定向到那里,但如果您必须:

...
if @baskets.size == 1
  redirect_to @baskets.first      
else
...

但是,期望 API 简单地返回一个篮子数组,如果只有一个篮子,那么它将是一个包含一个项目的数组。

于 2010-09-17T13:27:08.057 回答