В моем приложении Ruby on Rails компании по прокату велосипедов могут управлять всеми своими велосипедами (бронирование, оплата и т. Д. c.).
Цель
Я хотел бы предложить компаниям по прокату велосипедов возможность разместить форму бронирования на своем собственном веб-сайте, чтобы они могли позволить клиентам создать резервирование для конкретного c велосипеда.
Затем эта форма бронирования будет доступна велосипеды из моего приложения Rails на их веб-сайт и, следовательно, отправлять новые данные бронирования обратно в приложение Rails.
Вопрос
Как связать сайт магазина с спецификация c Shop
в моем приложении. Таким образом, убедившись, что конкретный c веб-сайт действительно должен иметь возможность получать информацию, принадлежащую Shop
.
Код
модели
class Shop < ApplicationRecord
has_many :bike_categories, dependent: :destroy
has_many :bikes, through: :bike_categories
has_many :user_shops, dependent: :destroy
has_many :users, through: :user_shops
has_many :reservations, dependent: :destroy
accepts_nested_attributes_for :users, allow_destroy: true, reject_if: ->(attrs) { attrs['email'].blank? || attrs['role'].blank?}
end
class User < ApplicationRecord
has_many :user_shops, dependent: :destroy
has_many :shops, through: :user_shops
accepts_nested_attributes_for :user_shops
enum role: [:owner, :admin, :employee, :accountant, :demo, :app_owner]
end
class Reservation < ApplicationRecord
belongs_to :shop
belongs_to :bike
end
контроллеры / api / v1 / reservations_controller
def create
# How to know/specify which shop?
@shop = Shop.new(shop_params)
authorize @shop
if @shop.save
render :show, status: :created
else
render_error
end
end