2012-01-17 30 views
2

我最近寫了一些Rails代碼行像爲什麼我使用我的rails散列鍵表示法出現問題?

RandomApp::Application.config.session_store :cookie_store, key: '_ramdom_app_session' 

,我已經在開發和生產模式下使用這種代碼 - 一切正常。現在,我得到我解釋我得把下面的代碼,而不是一個錯誤:(注意:不同的使用名爲「關鍵」的哈希鍵)

RandomApp::Application.config.session_store :cookie_store, :key => '_ramdom_app_session' 

我開發的應用程序使用git的不同系統(PC,筆記本電腦)。我正在使用紅寶石1.8.7(2011-12-28 patchlevel 357)[i386-mingw32]和Rails 3.1.3。什麼改變了(例如在ruby或rails中)或者我改變了什麼,導致了這個錯誤的發生?

+0

的Ruby 1.8.7不支持'{鍵:值}'的語法。如果在那之前它正在工作,那麼它當時正在運行1.9.x。 – 2012-01-17 21:28:20

回答

2

關鍵:語法在Ruby 1.8.7中不可用。直到1.9才加入。你必須改變Ruby版本的某處。

1

從Ruby 1.9.x開始支持{key:value}。 {key => value}語法是舊的,但它仍然可以被當前版本的Ruby解釋。 由於您的應用程序是在Ruby版本> = 1.9.x的情況下開發的,因此您不應該繼續使用Ruby 1.8.7,否則將會遇到更多奇怪的問題。 您應該查看生產中使用的是哪個Ruby版本,以便您可以將相同版本的Ruby安裝到您的系統中。

有一個很好的Ruby版本管理器,您可以利用到Ruby版本之間切換:http://beginrescueend.com/

相關問題