2016-04-14 17 views
8

Sto cercando di capire come utilizzare i gem di dependent-fields-rails con la mia app Rails 4.Rails 4 - JS condizionale con rotaie dipendenti-campi

Mi sono perso.

ho incluso underscore.js nella mia cartella javascript vendor e aggiornato il mio application.js per includere (a destra in basso, appena al di sopra richiedono albero):

//= require underscore 
//= require dependent-fields 


$(document).ready(function() { 
    DependentFields.bind() 
}); 

Nella mia forma semplice, ho:

<%= f.input :has_milestones, as: :boolean, boolean_style: :inline, :label => 'Any decision points?', id: 'check_project_milestones' %> 

<%= content_tag :div, class: 'js-dependent-fields', data: {'checkbox-id': 'check_project_milestones', 'checkbox-value': 'true' } do %>   

    <div class="intpol2"> 
    Milestones 
    </div> 

    <%= f.simple_fields_for :milestones do |f| %> 
    <%= render 'milestones/milestone_fields', f: f %> 
    <% end %> 
<% end %> 

Tuttavia, quando ho riavviato il server e il rendering del modulo, la prima domanda che ha la div id, viene mostrato (che la casella di controllo spuntata) e il contenuto all'interno del tag contenuto è anche mostrando. Voglio che sia nascosto fino a quando la casella di controllo è selezionata.

Ho trovato un tutorial su driftingruby.com che mostra come configurarlo. L'unica cosa che posso indovinare è che forse i collegamenti turbo sono necessari per fare questo lavoro ?? L'ho disabilitato perché uso Olark.

Quando ho ispezionare la console per gli errori, posso vedere questo, che sembra essere rilevanti:

[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (underscore-min.map, line 0) 

Dovrei anche aggiungere che ho provato di tutto suggerito in risposta alla mia precedente interrogazione su questo problema, ma non è stato in grado di trovare una soluzione: Rails 4 - JS for dependent fields with simple form

Qualcuno può vedere cosa ho fatto di sbagliato?

+0

http://stackoverflow.com/questions/18393052/rails-assets-404-with-map-extension – prusswan

+0

non ho una linea nei miei underscore.js che ha "sourceMapping" in esso – Mel

+0

Il l'errore è molto chiaro, qualcosa sta facendo riferimento al file della mappa che ti piaccia o no. – prusswan

risposta

1

Quello che stai vivendo è la mappatura delle fonti. Ciò consente di eseguire il debug con codice leggibile negli strumenti di sviluppo del browser quando si lavora con file JS minificati.

La versione minified di Underscore ha questa riga alla fine del file:

//# sourceMappingURL=underscore-min.map 

vostro suo navigatore strumenti sviluppatori cercheranno di scaricare underscore-min.map quando incontrano questa linea.

Se si vuole sbarazzarsi dell'errore, sia:

  1. rimuovere quella linea dal underscore-min.js
  2. Aggiungere underscore.js underscore-min.map e al progetto.
+0

Non ho aggiunto la versione di produzione (minima) di underscore.js alla mia cartella javascript. Ho aggiunto la versione di sviluppo, che capisco non è stata minimizzata. Pensi che la tua risposta sia pertinente dato che non ho il file min nel mio progetto? – Mel

+0

Devo salvare underscore-min.map con estensione .js? Presumibilmente devo anche aggiungerlo a application.js? – Mel

+0

Ho provato ad aggiungere il file underscore-min.map al mio fornitore/javascript e quindi a precompilare le risorse. Ho provato di nuovo, ma i campi dipendenti da js non funzionano ancora – Mel