У меня есть два контроллера API в моем приложении Rails для настройки RESTful:
- StoresController (имеет много продуктов)
- ProductsController (имеет один магазин)
Как мне написать API так, чтобы
http://localhost:3000/api/v1/stores/37/products
возвращает только товары для этого магазина (в данном случае магазин № 37)? Я думаю, что мне не хватает метода маршрута и контроллера, чтобы это произошло.
Маршруты
namespace :api, defaults: {format: 'json'} do
namespace :v1 do
resources :stores
resources :licenses
end
end
Контроллеры API
APIКонтроллер:
module Api
module V1
class ApiController < ApplicationController
respond_to :json
before_filter :restrict_access
private
def restrict_access
api_app = ApiApp.find_by_access_token(params[:access_token])
head :unauthorized unless api_app
end
end
end
end
Контроллер магазинов:
module Api
module V1
class StoresController < ApiController
def index
respond_with Store.all
end
def show
respond_with Store.find_by_id(params[:id])
end
end
end
end
ПродуктыКонтроллер:
module Api
module V1
class ProductsController < ApiController
def index
respond_with Product.all
end
def show
respond_with Product.find_by_id(params[:id])
end
end
end
end
Спасибо за любое понимание.