2016-09-12 5 views
0

Ich versuche, einen partiellen Knopfdruck zu aktualisieren. Das Teil ist bereits in der Ansicht vorhanden. den Wert des ‚Term‘ ändern und neu rendern den gleichen TeilAktualisierung teilweise auf Knopf klicken

<div id="partial_to_update"> 
    <%= render partial: "accounts/all_accounts", :locals => { term: @term} %> 
</div> 

Auf einem Klick (läßt Update Teil Link sagen), ich will.

<%= link_to "Update Partial", update_accounts_path, :remote => true, id: "update-partial-link" %> 

in Routen, fügte ich hinzu:

get '/update_accounts' => "accounts#update_accounts", as: :update_accounts 

in accounts_controller:

def update_accounts 
    respond_to do |format|    
    format.js 
    end   
end 

in Aussicht/accounts/update_accounts.js.erb:

$('#partial_to_update').replaceWith("<%= escape_javascript(render partial: 'accounts/all_accounts', :locals => { term: 'new_term'}) %>"); 

Aber, Wenn ich auf "Teilweise aktualisieren" klicke, wird der Teilweise verschwindet gerade. Wenn ich ReplaceWith ("MEIN NAME"), funktioniert es.

Irgendwelche Hilfe ??

+0

können Sie zeigen, wie teilweise fraglich ist? – kasperite

+1

Ich denke, Sie übergeben nicht @ new_term Instanzvariable von Ihrer Aktion update_accounts zu update_accounts.js.erb-Datei –

Antwort

1

Ihre Aktion 'update_accounts' übergibt keine Instanzvariablen an update_accounts.js.erb. Was ist "neuer_term"?