Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RoR应用程序:将应用程序部署到heroku时出现问题_Ruby On Rails_Ruby_Git_Heroku - Fatal编程技术网

Ruby on rails RoR应用程序:将应用程序部署到heroku时出现问题

Ruby on rails RoR应用程序:将应用程序部署到heroku时出现问题,ruby-on-rails,ruby,git,heroku,Ruby On Rails,Ruby,Git,Heroku,我最近为一个我一直在开发的rails应用程序创建了一个heroku应用程序。我只希望在浏览器上显示一个html文件。这个文件从我的数据库(sqlite3——从开发的角度来看,从技术上来说应该可以工作。我让它与railstutorial一起工作,在那里我根本没有配置postgres),以及它们相应的图像,并将它们吐到页面上。这在localhost上非常有效,但当我使用“heroku open”部署时,我看到的只是一个空白的白色页面,页面顶部添加了标题标签:“来自BBC的热门新闻”。这就好像应用程序

我最近为一个我一直在开发的rails应用程序创建了一个heroku应用程序。我只希望在浏览器上显示一个html文件。这个文件从我的数据库(sqlite3——从开发的角度来看,从技术上来说应该可以工作。我让它与railstutorial一起工作,在那里我根本没有配置postgres),以及它们相应的图像,并将它们吐到页面上。这在localhost上非常有效,但当我使用“heroku open”部署时,我看到的只是一个空白的白色页面,页面顶部添加了标题标签:“来自BBC的热门新闻”。这就好像应用程序根本不读取eRB标签一样。以下是我的索引视图html.erb文件的代码:

<h1> Top stories from BBC <h1>


<% @stories.each do |story| %>

<% if story.image.nil? %>

<% # do nothing %>

<% else %>
<div> 
    <h3><%= story.name %></h3>
    <p><%= story.summary %></p>
    <a href = "<%= story.url %>" >
        <img src="<%= story.image %>" />
    </a>
</div>

<% end %>

<% end %>
我一直在使用heroku和git命令,例如:

  • git推送
  • 希罗库
  • heroku运行rake数据库:迁移
  • rake资产:预编译
  • git添加/git提交-m/etc
  • git推送heroku主机
即使在尝试了以上多种不同的组合后,似乎也没有任何效果。我将非常感谢你们提供的任何反馈,关于我如何在Heroku上正确呈现我的索引页面。它可以在本地主机上完美工作


谢谢,非常感谢您的帮助

您已将代码推送到Heroku,但Heroku数据库为空。如果您的本地数据库中有数据,只需按一下Heroku即可

 heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi
其中:

mylocaldb
是本地数据库的名称

HEROKU\u POSTGRESQL\u洋红
是您的HEROKU数据库的名称(从
HEROKU pg:info-a myapp中查找)

重要:Heroku使用postgres,因此您也应该在本地使用postgres。此处所述的许多命令都要求您在计算机上安装postgres


请务必阅读Heroku提供的非常有用的帮助页面:

我认为问题在于数据库,要么您的数据库未在Heroku上配置,要么您的故事在Heroku数据库上为空,您可以向我们展示您的控制器吗?在config/environments/production.rb文件中,您是否更改为config.service\u static\u assets=true?谢谢,但我可以问一下如何找到mylocaldb的名称吗?我现在已经安装了postgreSQL,并且以前使用过sqlite3。非常感谢。请检查您的database.yml文件。另外,如果您从sqlite迁移到postgres,我会使用RailsCast并点击:
 heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi