实时通信:从轮询到 ActionCable 的转变
1. 票务信息序列化与批量更新
在处理票务信息时,我们有两个关键的功能。首先是 to_concert_h 方法,它是一个简单的票务信息序列化器,能将票务的关键信息整理成哈希形式。以下是该方法的代码:
# chapter_08/04/app/models/ticket.rb
def to_concert_h
{id: id, row: row, number: number, status: status}
end
另外,有一个独立的控制器用于处理票务批量状态更新。它接收音乐会 ID、座位号和票务数量,然后更新整个票务批次的状态。代码如下:
# chapter_08/04/app/controllers/shopping_carts_controller.rb
class ShoppingCartsController < ApplicationController
def create
seat_number = params[:seatNumber]
seat_range = seat_number...seat_number + params[:ticketsToBuyCount]
tickets = Ticket.where(
concert_id: params[:concertId],
row: params[:row],
number: seat_range
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



