Sto usando Ruby su Rails 3 e desidero sovrascrivere (possibilmente nel file del modello) il metodo as_json
o to_json
per fare una richiesta HTTP a respond_to
senza includere alcune informazioni.Come sovrascrivere il metodo 'as_json' o 'to_json' al fine di 'respond_to' senza includere le informazioni specificate?
nel mio conto modello ho
def as_json(options = {})
super(
:except => [
:password
]
)
end
Nel mio controller ho
format.json {
render :json => @account, :status => 200
}
Quando faccio una richiesta, ad esempio, per /account/1.json
ho di nuovo anche la password attributi che , per ragioni di sicurezza, non voglio.
Quindi, come impedire di includere le informazioni specificate?
posso fare questo e funziona
format.json {
render :json => @account.to_json(:except => [:password]), :status => 200
}
ma ho bisogno di refactoring .
le mie soluzioni seguenti stanno funzionando per me senza refactoring. Non stanno lavorando nel tuo ambiente? – tommasop