簡體   English   中英

Rails 4 - 語法錯誤,意外的tIDENTIFIER,期望輸入結束

[英]Rails 4 - syntax error, unexpected tIDENTIFIER, expecting end-of-input

我有一段代碼,我試圖用rspec運行。

require 'spec_helper'

    describe "User" do
        before { @user = User.new(name: "Example User", email: "user@example.com", password: "foobar", password_confirmation: "foobar") }
        subject { @user }

        it { should respond_to(:name)}
    end

我收到以下錯誤

c:\Sites\sample_app>rspec spec/models/user_spec.rb
C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/rspec-core-2.13.1/lib/rspec
/core/configuration.rb:819:in `load': c:/Sites/sample_app/spec/models/user_spec.
rb:1: syntax error, unexpected tIDENTIFIER, expecting end-of-input (SyntaxError)
before { @user...er'

現在我在一個新文件中重新鍵入測試並運行它並且沒有錯誤。 我想有一些編碼問題或者我沒有學到的東西,我沒有得到。 有沒有人可以對這個問題有所了解?

你似乎確實被“零寬度空間問題”所困擾。 我知道,這非常令人沮喪。 你認為“顯示空白”應該解決這個問題,特別是在像Sublime這樣先進的編輯器中。

無論如何,要在Sublime 2中檢測這些字符的存在,您可以使用此插件。 顯示它們。

順便說一句,幾個月前,當我從一個網站中復制/粘貼一些代碼時,我就浪費了幾個小時甚至幾天的時間。

我在Sublime 2網站上搜索了與此相關的任何帖子(例如功能請求等),但沒有找到任何內容,所以我不知道這是否在他們的雷達上。

注意:此答案的原始版本假設零寬度空格字符與非中斷空格相同,而不是。 不間斷的空間,雖然它們仍會產生語法錯誤,但更容易檢測,因為它們在顯示器中“占用空間”(即“看起來像一個空間”)。 還有“零寬度不間斷空間”,這仍然是不同的。 雖然很容易進入Mac上的不間斷空間(即Option-Space),但我知道無法進入任何零寬度空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM