【发布时间】:2015-01-30 19:18:31
【问题描述】:
我正在使用 AMS 来遵守较旧的 API,并尝试在每个属性上包含前缀。
假设我有这个序列化器:
InvoiceSerializer.new(invoice).serializable_hash
=> {
:id=>662473,
:number=>"3817",
:created_at=>Tue, 27 Jan 2015 14:55:51 PST -08:00,
:updated_at=>Tue, 27 Jan 2015 14:56:20 PST -08:00,
:date=>Tue, 27 Jan 2015,
:subtotal=>#<BigDecimal:7fa89e051380,'0.1E3',9(18)>,
:total=>#<BigDecimal:7fa89e050f70,'0.1095E3',18(18)>,
:tax=>#<BigDecimal:7fa89e050d40,'0.95E1',18(18)>,
:verified_paid=>false,
:tech_marked_paid=>true,
:ticket_id=>11111
}
并希望输出为:
InvoiceSerializer.new(invoice).serializable_hash
=> {
:invoice_id=>662473,
:invoice_number=>"3817",
:invoice_created_at=>Tue, 27 Jan 2015 14:55:51 PST -08:00,
:invoice_updated_at=>Tue, 27 Jan 2015 14:56:20 PST -08:00,
:invoice_date=>Tue, 27 Jan 2015,
:invoice_subtotal=>#<BigDecimal:7fa89e051380,'0.1E3',9(18)>,
:invoice_total=>#<BigDecimal:7fa89e050f70,'0.1095E3',18(18)>,
:invoice_tax=>#<BigDecimal:7fa89e050d40,'0.95E1',18(18)>,
:invoice_verified_paid=>false,
:invoice_tech_marked_paid=>true,
:invoice_ticket_id=>11111
}
我宁愿不对解决方案进行元编程,因为其他人会使用它,我不希望他们讨厌我。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 active-model-serializers