2012-01-20 5 views

risposta

11

È possibile farlo con un metodo di una riga in Pakke:

def as_json(*args) 
    super.tap { |hash| hash["name"] = hash.delete "navn" } 
end 

Calling super genererà JSON hash come al solito, quindi prima che venga restituito ti piombare in e cambiare la chiave della voce "navn".

+0

Questa è una soluzione elegante e super cool! Grazie per questo :) – Amir

+0

ottima soluzione, utile per quegli attributi protetti che sono in conflitto con le vecchie versioni di IE ... –

+0

non rimuovendo la mia colonna né aggiungendone uno in hash. Anche se sembra buono ma non funziona. –

2

Ignora il metodo as_json. È utilizzato da to_json per produrre l'output. Si può fare qualcosa di simile:

def as_json options={} 
{ 
    name: navn, 
    .... # other attributes you want to add to json 
} 
end 
Problemi correlati