簡體   English   中英

Rails App在開發中工作正常,但在Heroku postgres上會引起麻煩

[英]Rails App works fine in development but on Heroku postgres causes trouble

我有一個Rails應用程序,可以完美地在開發中工作並經過良好的測試。 在heroku上部署時,沒有任何問題的報告,但是該應用程序仍然無法正常工作。 在瀏覽器中打開它只會提供:

我們很抱歉,但有些不對勁。 如果您是應用程序所有者,請檢查日志以獲取更多信息。”

在日志中,我看到了一個對我的變量/表“ countries”有效的pg表達式,盡管我不太了解其含義:

app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod

app[web.1]:                 FROM pg_attribute a LEFT JOIN pg_attrdef d

app[web.1]:                WHERE a.attrelid = '"countries"'::regclass

app[web.1]:                  AND a.attnum > 0 AND NOT a.attisdropped

app[web.1]:                ORDER BY a.attnum

app[web.1]:   app/controllers/application_controller.rb:15:in `default_or_selected_country'

app[web.1]: 

heroku[router]: at=info method=GET path="/" host=evening-refuge-96756.herokuapp.com request_id=a240125e-4115-40d4-bfb0-ade1b8c909d6 fwd="178.165.130.180" dyno=web.1 connect=1ms service=204ms status=500 bytes=1714

我看到涉及到我的方法“ default_or_selected_country”。 相應的代碼在開發和測試模式下毫無問題:

def default_or_selected_country
  session[:country_id] ||= Country.find_by(abbreviation: "AT").id
  @default_or_selected_country = Country.find(session[:country_id]).name
end

在撰寫本文時,會記錄更多類似的pg表達式,它們始終包含“ countries”表,並且指向與上述相同的方法。

我的問題在哪里,如何解決? 謝謝!

確實,我的應用最初需要一些種子數據,因為控制器正在將其拉出以填充下拉選擇器。 在本地這是通過

rake db:seed

在Heroku上,只需完成以下操作

heroku run --app APP rake db:seed

如此處所寫只使用與本地相同的seeds.rb。

暫無
暫無

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

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