2
我目前正在部署rails應用程序到heroku。該應用程序是軌道2.3.3出於某種原因,也許是因爲它是一個不同的紅寶石,我沒有得到一個奇怪的語法錯誤Ruby 1.9.1語法錯誤
這裏是我的錯誤
Downloading postal codes.
rake aborted!
/app/app/models/postal_code.rb:13: syntax error, unexpected ':', expecting keyword_then or ',' or ';' or '\n'
when Integer: first(:conditions => { :code => code })
^
/app/app/models/postal_code.rb:14: syntax error, unexpected keyword_when, expecting keyword_end
when Hash: first(:conditions => {...
^
/app/app/models/postal_code.rb:59: syntax error, unexpected keyword_end, expecting $end
這裏是我的代碼文件(POSTAL_CODE .RB)
11 def self.get(code)
12 case code
13 when Integer: first(:conditions => { :code => code })
14 when Hash: first(:conditions => { :city => code[:city], :state => code[:state] })
15 else raise InternalException.new("Invalid input.")
16 end
17 end
51 # now set min and max lat and long accordingly
52 area[:min_lat] = latitude - area[:lat_degrees]
53 area[:max_lat] = latitude + area[:lat_degrees]
54 area[:min_lon] = longitude - area[:lon_degrees]
55 area[:max_lon] = longitude + area[:lon_degrees]
56
57 area
58 end
任何的想法是什麼,多數民衆贊成腳麻
使用冒號when'聲明成爲無效的語法的Ruby 1.9的:你可以使用
then
:或換行符。您可能在本地系統上使用1.8。 @維克托的答案在下面是正確的。我__strongly__建議將您的開發環境保留在與生產環境相同的Ruby版本上。很多小東西在1.8和1.9之間發生變化,可能會導致類似的問題。 –