员工和优惠券是具有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}]}