У меня была похожая проблема. После небольшого исследования я обернул метод as_json ActiveModel помощником, который верблюжил бы хэш-ключи. Тогда я бы включил модуль в соответствующую модель (ы):
# lib/camel_json.rb
module CamelJson
def as_json(options)
camelize_keys(super(options))
end
private
def camelize_keys(hash)
values = hash.map do |key, value|
[key.camelize(:lower), value]
end
Hash[values]
end
end
# app/models/post.rb
require 'camel_json'
class Post < ActiveRecord::Base
include CamelJson
end
Это сработало очень хорошо для нашей ситуации, которая была относительно упрощенной. Однако, если вы используете JBuilder, очевидно, есть конфигурация, чтобы установить случай верблюда по умолчанию: https://stackoverflow.com/a/23803997/251500