我有一个名为 App.Routine 的嵌套资源,它有很多活动。当我在这里发送帖子时是我的有效负载:
{例程:{name:testName,activities:[{name:testName},{name:testName}]}}
这将返回 500 错误:
例程控制器中的 ActiveRecord::AssociationTypeMismatch#create
Activity(#32627220) 预期,得到 ActiveSupport::HashWithIndifferentAccess(#33577656)
我的 Rails API 使用 ActiveModelSerializers:
class RoutineSerializer < ActiveModel::Serializer
attributes :id, :name
has_many :activities, embed: :ids
end
class RoutinesController < ApplicationController
respond_to :json
def create
routine = Routine.create(params[:routine])
end
我相信我的问题在于我如何处理我的routines_controller.rb 中的创建操作。Rails 不喜欢我如何在例程 JSON 中返回活动的哈希值,但我想不出正确的处理方法。