0

Ich habe ZoneSerializerRails ActiveModelSerialzer sind mit transform_key

class Api::V1::ZoneSerializer < ActiveModel::Serializer 
    attributes :id, :name, :address, :description, :groupname, :key, :speed_limit 

    has_many :radius_user_groups 
end 

Und ich gesetzt transform_key

ActiveModel::Serializer.config.key_transform = :camel_lower 

Wenn ich Antwort vom Server erhalte ich radiusUserGroups bekommen, die in Ordnung ist. Aber Frontend sendet auch radiusUserGroups für Includes, aber es scheint keine Autotransform-Funktion für das Backend zu geben. Soll ich das manuell machen?

Antwort

0

Fügen Sie in Ihrem Application Controller Diese Methode konvertiert alle snake_case params:

before_action :deep_snake_case_params! 

    def deep_snake_case_params!(val = params) 
    case val 
    when Array 
     val.map {|v| deep_snake_case_params! v } 
    when Hash 
     val.keys.each do |k, v = val[k]| 
     val.delete k 
     val[k.underscore] = deep_snake_case_params!(v) 
     end 
     val 
    else 
     val 
    end 
    end 
+0

Dank für das Verfahren. Schade, dass es manuell gemacht werden muss ... –