"undefined" |0|ReferenceError: Strict mode verbietet implizite Erzeugung-global property 'csrf_token'

So, das war ein ziemlich Interessantes problem, das ich gelaufen.

Ich bin derzeit am Aufbau eines backbone.js - Schienen-app. In der Regel bauen diese für Lernzwecke. Ich bin (wie jeder gute rails-dev) ich Tue mein bestes, bei TDD/BDD und ich lief in ein problem mit capybara.

Habe ich eine integration spec, die lediglich tests root_path funktioniert (Backbone-Geschichte beginnt, zeigt Sie erste Informationen, etc...).

require 'spec_helper'

describe "RentalProperties", js: true do
  describe "GET /" do
    it "should show a list of properties" do
      visit root_path
      eventually{page.should have_content("Something")}
    end
  end
end

Bin ich der Ausführung von tests mit jasmine, sinon, und capybara/rspec/webkit. Ich bin Locker folgenden werden sowohl die "Rspec auf Schienen" Buch von thoughtbot (Super Buch übrigens), und dieses tutorial: http://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine-sinon.html.

Beim ausführen der oben genannten Skillung, stieß ich auf diese Fehlermeldung:

undefined|0|ReferenceError: Strict mode forbids implicit creation of global property 'csrf_token'

Ich nahm eine lange Zeit zu Sortieren, weil es gibt wirklich nichts von google-in der Lage, für diesen Fehler.

Schließlich stolperte ich über die Verwendung von "use strict-Modus" in JS. Im wesentlichen wird dieser einige neue EMCA5 Skript-Konventionen. Es fängt mehr eine Kodierung Patzer, und halten Sie den Zugriff auf Globale Variablen. Alle guten Dinge.

So, ich schauen, und in meine sinon.js die Datei, die ich sehe:

"use strict";

in Zeile 36 der Datei. Und siehe da, die ich kommentieren Sie die Zeile aus, und meine tests gut funktionieren.

Hier ist meine Frage: Warum haben strenge Durcheinander csrf? Ich gehe davon aus das hat etwas zu tun mit csrf_meta_tags in meine rails-layout. Wenn möglich, würde ich gerne diese Zeile zurück, in der sinon-js, da ich davon ausgehen, dass seine "richtige zu tun"

Hat jemand mehr Informationen dazu? Ich Schätze alle details im Voraus!!

InformationsquelleAutor cpow | 2012-12-10

Schreibe einen Kommentar