В моем приложении Ruby on Rails компании по прокату велосипедов могут управлять всеми своими велосипедами (бронирование, оплата и т. Д. c.).
Контекст Я хотел бы предложить компаниям по прокату велосипедов (shops
) возможность создать форму бронирования на своем собственном веб-сайте, чтобы они могли позволить клиентам бронировать bike
.
- В этой форме бронирования будет указано
bike_categories
, из которых bikes
доступны на определенную дату arrival
и departure
.
Вопрос Чтобы справиться с этим, я хотел бы сгенерировать действие контроллера API, показывающее availability
для определенного bike_category
с отображением count
для числа из доступных bikes
принадлежащих этому bike_category
.
Согласно этому сообщению
Разработка API запросов RESTful с длинным списком параметров запросов
Я должен иметь возможность обрабатывать запросы в моем API , но как мне получить запросы в моем контроллере Rails?
код
модели
class Shop < ApplicationRecord
has_many :bike_categories, dependent: :destroy
has_many :bikes, through: :bike_categories
has_many :reservations, dependent: :destroy
end
class Reservation < ApplicationRecord
belongs_to :shop
belongs_to :bike
end
class Bike < ApplicationRecord
belongs_to :bike_category
has_many :reservations, dependent: :destroy
end
class BikeCategory < ApplicationRecord
belongs_to :shop
has_many :bikes, dependent: :destroy
end
маршруты
# api
namespace :api, defaults: { format: :json } do
namespace :v1 do
resources :shops, only: [ :show ]
resources :reservations, only: [ :show, :create ]
resources :bike_categories, only: [:index, :show, :availability]
end
end
controller / api / v1 / bike_categories_controller.rb
class Api::V1::BikeCategoriesController < Api::V1::BaseController
acts_as_token_authentication_handler_for User, only: [:show, :index, availability]
def availability
# How to get the bike_category, arrival and departure?
end
end