2016-04-14 4 views
8

Ich versuche herauszufinden, wie abhängig-fields-rails gem mit meiner Rails 4 App zu verwenden.Rails 4 - Conditional JS mit dependent-fields-rails

Ich bin verloren.

Ich habe Underscore.js in meinem Anbieter javascripts Ordner enthalten und meine application.js aktualisiert, um (rechts unten, benötigt gerade über Baum):

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


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

In meiner einfachen Form, die ich habe:

<%= 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 %> 

Allerdings, wenn ich den Server und machen Sie das Formular neu zu starten, die erste Frage, die die div id hat, gezeigt wird (die das Kontrollkästchen unticked) und der Inhalt innerhalb des Content-Tag auch angezeigt wird. Ich möchte, dass es ausgeblendet wird, bis das Kontrollkästchen aktiviert ist.

Ich habe ein Tutorial auf driftingruby.com gefunden, das zeigt, wie man das einrichtet. Das einzige, was ich erraten kann, ist, dass Turbo-Verbindungen benötigt werden, um das zu funktionieren? Ich habe es deaktiviert, weil ich Olark verwende.

Wenn ich die Konsole auf Fehler zu überprüfen, kann ich diese finden, die relevant zu sein scheint:

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

Ich möchte auch, dass ich alles in ihrer Antwort auf meine frühere Frage zu diesem Problem vorgeschlagen versucht, hinzuzufügen, aber war nicht in der Lage, eine Lösung zu finden: Rails 4 - JS for dependent fields with simple form

Kann jemand sehen, was ich falsch gemacht habe?

+0

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

+0

Ich habe keine Linie in meinem Underscore.js haben, die "sourceMapping" drin – Mel

+0

Das hat Fehler ist sehr klar, etwas referenziert die Map-Datei, ob Sie es mögen oder nicht. – prusswan

Antwort

1

Was Sie erleben, ist Quellmapping. Dies ermöglicht es Ihnen, mit lesbarem Code in den Entwicklertools Ihres Browsers zu debuggen, wenn Sie mit minimierten JS-Dateien arbeiten.

Die minimierte Version von Unterstrichen hat diese Zeile am Ende der Datei:

//# sourceMappingURL=underscore-min.map 

Ihre Java-Entwickler-Tools werden versuchen, underscore-min.map herunterzuladen, wenn diese Zeile zu stoßen.

Wenn Sie die Fehler loszuwerden, entweder:

  1. diese Zeile entfernen von underscore-min.js
  2. hinzufügen underscore-min.map und Underscore.js zu Ihrem Projekt.
+0

Ich habe die Produktionsversion (minimized) von underscore.js nicht in meinen JavaScript-Ordner eingefügt. Ich habe die dev-Version hinzugefügt, von der ich verstehe, dass sie nicht minimiert wurde. Denkst du, dass deine Antwort relevant ist, wenn ich nicht die Min-Datei in meinem Projekt habe? – Mel

+0

Muss ich die Datei unterstrich-min.map mit der Erweiterung .js speichern? Vermutlich muss ich es auch zu application.js hinzufügen? – Mel

+0

Ich habe versucht, meine Vendor/Javascripts mit der Datei "undercore-min.map" zu versehen und anschließend die Assets vorzureichen. Ich versuchte es erneut, aber die js abhängigen Felder funktioniert immer noch nicht – Mel