0

私は API を書いています。この API には、 を持つFruitBasketモデルがありますFruits。特定の Fruit は、一度に複数の FruitBasket に属する場合があります。FruitBasketでありFruit、両方のActiveRecordオブジェクトです。

誰かがGETonを実行した場合/fruit/100/baskets、その果物を含むバスケットの JSON リストをバスケット ID の形式で提供したいと考えています。バスケットが 1 つしかない場合は/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

4

1 に答える 1

1

本当にそこにリダイレクトしたいのかどうかはわかりませんが、必要な場合:

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

ただし、API が単純にバスケットの配列を返すことを期待し、バスケットが 1 つしかない場合は、1 つのアイテムを含む配列になります。

于 2010-09-17T13:27:08.057 に答える