/ / Come rendere json e allo stesso tempo aggiornare un partial usando AJAX (Rails) - ajax, json, ruby-on-rails-3

Come rendere json e allo stesso tempo aggiornare un partial usando AJAX (Rails) - ajax, json, ruby-on-rails-3

Ho un'azione del controller (chiamiamolasome_controller_action) che ha bisogno di renderizzare alcuni json (per il javascript da prelevare) e allo stesso tempo aggiornare / re-renderizzare un partial usando some_controller_action.js.erb.

Il mio suggerimento sul codice è qualcosa del genere:

def some_controller_action

#
# lots of code here
#

respond_to do |format|
render :json => {:something => something}, :status => :ok
format.html {
redirect_to somewhere
}
format.js
end
end

Il lato client ajax / javascript attiva questa azione e riceve il json come risposta. Sembra questo:

someCoffeescripAction = ->
$.ajax
type: "post"
dataType: "json"
data:
some_data_name: some_data_content
url: "some_url/some_controller_action"
success: (data, status, xhr) ->
do_something_with_the_response(data)

error: (xhr, textStatus, errorThrown) ->

Ovviamente questo non funziona, poiché non mi è permesso di eseguire il rendering due volte nella stessa azione, ma poi cosa fare?

risposte:

1 per risposta № 1

Come appare il tuo javascript? Prendi l'azione del controller da parte di ajax? Se è così, allora devi solo aspettare fino a quando la chiamata ajax è terminata, e quindi attivare un re-rendering del tuo parziale, usando i dati json appena recuperati o chiamando un'altra funzione ajax.