RoR应用程序:将应用程序部署到heroku的问题

时间:2014-09-30 18:04:03

标签: ruby-on-rails ruby git heroku

我最近创建了一个heroku应用程序,用于我一直在努力的现有rails应用程序。我只有一个html文件,我希望在我的浏览器上显示。这个文件从我的数据库中获取新闻故事(sqlite3--从技术上讲应该从开发的角度来看。我已经得到它来使用railsstutorial,我根本没有配置postgres),以及它们对应的图像,并将它们吐出到页面。这在localhost上完美运行,但是当我使用' heroku open'进行部署时,我看到的是一个空白的白页,其中包含我在页面顶部添加的标题标记:'热门故事来自BBC&​​#39;。这就好像应用程序根本没有读取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 %>

这是我的宝石文件:

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.8'

gem 'feedjira'

gem 'mechanize'

gem 'nokogiri'

# Use sqlite3 as the database for Active Record
group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.2'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

group :production do
    gem 'pg', '0.15.1'
    gem 'rails_12factor', '0.0.2'
end

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

我一直在使用heroku和git命令,例如:

  • git push
  • git push heroku
  • heroku run rake db:migrate
  • rake assets:precompile
  • git add。 / git commit -m / etc。
  • git push heroku master

即使以多种不同的组合尝试上述内容,似乎没有任何效果。我很感激你们可以提供的任何反馈,以便我如何让我的索引页面在Heroku上正确呈现。它完全适用于本地主机。

谢谢,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您已将代码推送到Heroku,但您的Heroku数据库为空。如果您想在Heroku上使用本地数据库中的数据,只需按下即可!

 heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi

其中:

mylocaldb是本地数据库的名称

HEROKU_POSTGRESQL_MAGENTA是您的heroku数据库的名称(从heroku pg:info -a myapp找到)

重要:Heroku使用postgres,所以你也应该在本地使用postgres。此处说明的许多命令都要求您在机器上安装postgres。

请务必阅读Heroku提供的非常有用的帮助页面:https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull