使用以下方法在Heroku上创建简单的静态网站:https://devcenter.heroku.com/articles/static-sites-ruby。
当我在浏览器中本地打开页面时,一切正常。我点击链接,然后登陆我想要的页面。
但是当我运行rackup(localhost:9292
)或将其推送到heroku时,主页会加载,然后如果我尝试转到类似page2.html
的内容,则会加载网址,但浏览器仍会显示来自主页。
我重新创建了一个简单的示例:https://peaceful-atoll-24169.herokuapp.com。我有一个带有Hello
的索引页面。它应链接到包含Yo
的页面。它会转到页面,但在您单击链接时不会更改页面内容。
知道可能会发生什么吗?我觉得这可能是因为我的config.ru文件?这是它的内容。
use Rack::Static,
:urls => ["/images", "/js", "/css"],
:root => "public"
run lambda { |env|
[
200,
{
'Content-Type' => 'text/html',
'Cache-Control' => 'public, max-age=86400'
},
File.open('public/index.html', File::RDONLY)
]
}
答案 0 :(得分:0)
你到底想做什么?你想创建一个你可以在Heroku上托管的Rails项目吗? 如果是,使用heroku创建的gem可以更好地从本地计算机上执行此操作。如果您需要有关在heroku上推送/托管应用程序的步骤的更多帮助,请告诉我们。
答案 1 :(得分:0)
这假设您已在本地计算机上安装了rails,否则您可以使用此link安装rails
1.从终端或命令窗口创建新的rails应用程序。使用rails new name-of-app
创建新的rails应用
2.将目录更改为您的app-of-app文件夹,并确保rails服务器运行并且您可以预览该应用程序。通过从当前app-of-app文件夹运行rails server
来预览应用。您可以通过MacOS上的Command + C或PC上的Ctrl + C停止服务器运行
3.初始化应用程序文件的git存储库,运行git init
然后运行git add -A
然后运行git commit -m "Initial commit of app"
,然后运行git push
(确保从app-of-app目录执行此操作)
4.组织你的Gemfile以包含它,从默认数据库中删除sqlite以在开发环境中使用。你可以在我的github repo
group :development, :test do
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platform: :mri
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
bundle install
在app-app / controllers文件夹中创建欢迎控制器 class WelcomeController< ApplicationController的 def index
端
结束
检查here
config / routes.rb中的welcome #index的根路由root 'welcome#index'
请参阅here
rails server
预览您的应用,确保它转到索引页面。 heroku create
创建一个heroku应用(确保您在本地计算机上安装了heroku toolbet并使用heroku login
git push heroku master
将代码项目部署到heroku
提示:要更改应用程序的名称,请运行heroku rename newnameofyourapp
我希望这会有所帮助。