【问题标题】:Sinatra assets not loading on HerokuSinatra 资产未在 Heroku 上加载
【发布时间】:2015-11-28 13:38:39
【问题描述】:

我建立了一个 Sinatra 网站并推送到 Heroku,但不知何故无法加载公共文件夹中的 CSS、JS 和图像。

网站在这里:https://teng-quora-k.herokuapp.com/

这是本地的样子:

这里是<head> 部分

<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="/css/normalize.css">
    <link rel="stylesheet" href="/css/application.css">
    <link rel="stylesheet" href="/css/login.css">
    <link rel="shortcut icon" href="/favicon.ico">
    <title>Teng-Quora-k</title>
    <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
    <script src="/js/application.js"></script>
</head>

这是 Gemfile,以防万一

source 'https://rubygems.org'

# Ruby Version
# ruby "2.2.1"

gem 'sinatra'
gem 'sinatra-contrib'
gem 'thin'
gem 'activerecord'
gem 'activesupport'
gem 'sinatra-activerecord'
gem 'pg'
gem 'rake'
gem 'rspec'

group :development, :test do
    gem 'shotgun'
end

group :production do
    gem 'rails_12factor'
    gem 'puma'
end

gem 'bcrypt'
gem 'byebug'
gem 'will_paginate', '~> 3.0.6'
gem 'faker'

这是在我的 procfile 中:

web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}

我在这里错过了什么?

【问题讨论】:

  • 如何启动服务器(本地和 Heroku 上)?您在shotgunProcfile 中使用了哪些选项?
  • (注意rails_12factor 不会做任何事情,因为这是一个 Sinatra 应用程序,而不是 Rails。)
  • 我使用shotgun config.ru 在我的本地机器上运行它。我在上面的问题中添加了 procfile 设置。我正在使用其他人提供的 Sinatra 模板,而 rails_12factor gem 最初就在那里。

标签: ruby heroku sinatra assets


【解决方案1】:

我尝试在config/init 中专门定义公用文件夹路径,并且成功了!这是路径:

# Setup public folder
set :public_folder, File.join(APP_ROOT, "public")

希望有一天有人会发现这很有用:)

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多