2014-09-30 180 views
0

我最近为我一直在研究的现有应用程序应用程序创建了一个heroku应用程序。我只有一个我想在浏览器上看到的html文件。这个文件从我的数据库中获取新闻报道(sqlite3 - 应该从技术角度来看是从开发角度来看,我已经用它来配合railstutorial,我根本没有配置postgres),以及它们相应的图像和吐出他们到了页面。这在本地主机上完美运行,但是当我使用'heroku open'进行部署时,我所看到的只是一个空白页面,并在页面的顶部添加了标题标签:'BBC热门新闻'。就好像应用程序根本不读取eRB标签。下面是我的索引视图html.erb文件中的代码:RoR应用程序:将应用程序部署到heroku时出现问题

<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 %> 

,这里是我的Gemfile:

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 heroku
  • heroku run rake db:migrate
  • 耙子资产:预编译
  • git add。/git commit -m/etc。
  • 混帐推Heroku的主

即使试图以多种不同的组合以上后,似乎没有任何工作。如果能让我的索引页在Heroku上正确呈现,我将不胜感激。它可以在本地主机上完美工作。

谢谢,您的帮助将不胜感激!

+0

我认为问题是与数据库,无论是你的数据库是不是在Heroku上配置,或者你的故事是在Heroku数据库空 – 2014-09-30 18:17:34

+0

你能告诉我们你控制器? – beaglebets 2014-09-30 18:26:19

+0

在config/environments/production.rb文件中,您是否更改了此设置** config.serve_static_assets = true **? – userden 2014-09-30 18:31:40

回答

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

+0

谢谢,但我可能会问我如何找到mylocaldb的名称?我现在已经安装了postgreSQL,并且之前使用了sqlite3。非常感激。 – 2014-10-01 00:26:12

+0

检查你的database.yml文件。此外,如果您从sqlite迁移到postgres,我使用RailsCast并点击:http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast – ChrisBarthol 2014-10-01 12:42:08

相关问题