Rails Post API JSON数据通过



员工和优惠券是具有HABTM关联的2个型号,我想发送优惠券_id和emp_id以加入表。每个员工都可以选择多个优惠券,如何从API发送此数据。

 [{"emp_id" : 1, "coupon_id": 5 },{"emp_id" : 1, "coupon_id": 2 }]

这是发送数据参数的正确方法吗?每个员工一次可以选择多个优惠券,我如何传递数据并保存在JOIN表中?

由于您使用的是has_and_belongs_to_many,因此首先确保已创建JOIN表coupons_employees

关联后,该表将通过活动记录自动更新。您不必手动更新加入表。我建议您通过本指南

您可以使用 gem 'active_model_serializers'自定义您的JSON响应。

安装'active_model_serializers'

rails g serializer employee rails g serializer coupon

EmployeeSerializer

class Employee < ActiveModelSerializers::Model
  attributes :id
  has_many: coupons
end

CouponSerializer

class Coupon < ActiveModelSerializers::Model
  attributes :id      
end

来自控制器:

def emp_coupon
  @response = Employee.last
  render json: @response
end

这将返回此类似{id: 1, coupons: [{id: 2}, {id: 6}]}

的东西

最新更新