因此,我創建併發布了一個Sinatra應用程序到Heroku,沒有任何問題。我甚至用rackup在本地測試它,以確保它的功能正常。在URL中使用郵政編碼後,會對各個地方進行一系列API調用,但Heroku只是想告訴我存在服務器錯誤。Sinatra和Heroku的問題
我已經添加了一個錯誤頁面,試圖給我更多的描述,但是,它告訴我它不能執行#的計數,我假設它意味着哈希。下面是我認爲它試圖執行代碼...
if weather_doc.root.elements["weather"].children.count > 1
curr_temp = weather_doc.root.elements["weather/current_conditions/temp_f"].attributes["data"]
else
raise error(404, "Not A Valid Zip Code!")
end
如果有人想一鼓作氣就可以了,它可以在,http://quiet-journey-14.heroku.com/達成,但沒有太多可拿。
'weather'元素確實存在,這是從Google天氣API返回的XML。這很奇怪,因爲這個完全相同的代碼在我的機器本地工作,沒有問題。儘管如此,我會盡可能長一點,謝謝! – 2010-05-26 13:08:39
在改爲.length並推送到heroku之後,我現在得到一個「未給定的塊」錯誤。我只需要深入研究這些,再次感謝! – 2010-05-26 13:12:36
您使用哪個XML分析器來瀏覽DOM? REXML,Nokogiri?這可能是相應的gem沒有安裝在你的Heroku應用程序中。你可以提供一個純文本'.gems'文件讓Heroku安裝你需要的寶石。請參閱'http:// docs.heroku.com/gems'。 順便說一句,REXML的'children'返回一個數組,它有'length'或'size'方法。 – 2010-05-26 13:37:57