0

respond_to :json私は自分の場所とビールの両方のモデルから location_controller を使いたいと思っています。

私の位置コントローラは次のようになります

class LocationsController < ApplicationController
respond_to :html, :json
  # GET /locations
  # GET /locations.json
  def index
    @locations = Location.all
     respond_with(@locations,:only => [:id,:lat,:long,:name,:street_address,:place,:route],:methods => [:main_url, :beer_name])
  end 

@beer belongs_to :location で、ビール モデルの :name を上記のロケーション レスポンスに追加したいと思います。これは私のbeers_controllerです。

class BeersController < ApplicationController
  respond_to :html, :json
  # GET /beers
  # GET /beers.json

  def index
    @beers = Beer.where(:location_id => params[:location_id])
    respond_with(@beers,:only => [:id,:name,:description,:price,:style,:location_id, :brewery, :available],:methods => [:label_url])      
  end

どうやってやるの?ありがとう。

4

2 に答える 2

0

rabl gem は良い方法のように見えますが、これをロケーション モデルに追加することにしました

def as_json(options={})
    super(:only => [:id,:lat,:long,:name,:street_address,:place,:route], :methods => [:main_url],
          :include => {
            :beers => {:only => [:name]}
          }
    )
  end

これは私にとってはうまくいきます。

于 2013-05-21T20:16:02.710 に答える