2016-01-20 34 views
1

我剛合併了我們rails應用程序中的重新設計分支,現在我們使用slim。每個人似乎都有它工作正常,但如果我嘗試瀏覽新網站(無任何修改代碼),我得到的語法錯誤,如:Rails苗條的語法錯誤 - 配置錯誤?

unexpected ':', expecting keyword_end 

這裏是苗條文件的一個片段,上面的錯誤是在最後一行,但我很確定這與文件無關,因爲其他開發人員沒有問題,生產站點也沒有。

#featured-destinations-carousel.carousel.slide data-ride="carousel" data-interval="15000" 
    .pagination.hidden-sm.hidden-xs 
    = link_to "#featured-destinations-carousel", 'data-slide': 'prev' do 

我被告知升級到Ruby 2.2+,我做了(與rbenv),但沒有解決它。想法?

+0

應該'data-slide:'prev''或':data-slide =>'prev'' –

+0

@ShabbirAhmed這些都不會起作用。 – jeffdill2

回答

1

您的升級工作不正常,Rails應用程序仍在使用和舊版本的Ruby。確保您的rbenv設置正確(在運行rails s之前,請執行ruby -vwhich ruby以幫助調試),並確保您的.ruby-version文件中包含正確的版本。

+0

'ruby -v','ruby'和'.ruby-version'都正確指向2.2.4。但是重啓後,我終於偶然發現了一個版本問題......'rails s'在'/ usr/lib64/ruby​​/2.0.0/ruby​​gems/dependency.rb'中拋出了'Gem :: LoadError',所以仍然是2.0。 0。不知道我是如何搞砸的,以及如何恢復。 – edhel

+0

'bundle exec rails s'怎麼樣?這看起來像使用你的系統寶石,而不是rbenv中包含的系統寶石。 '哪個ruby'應該指向'〜/ .rbenv/shims/ruby​​'。你應該仔細檢查你的'.bash_profile'是否正確地初始化rbenv(檢查自述文件)。 – tpbowden

+0

的確,bin/rails和bundle exec rails工作正常。我從rbenv轉到rvm,即使ruby是rvm,rails也會從系統中獲取。我會檢查rvm文檔,謝謝! – edhel

0

你超級密切。只需要將其更改爲

= link_to "#featured-destinations-carousel", 'data-slide' => 'prev' do 

改爲。

+0

這只是將其更改爲ruby <2.2語法,而不是修復所使用的錯誤版本的基礎問題。 – tpbowden