【问题标题】:Routing to static html page in /public on heroku在 Heroku 上的 /public 中路由到静态 html 页面
【发布时间】:2015-02-24 13:15:39
【问题描述】:

我每天制作一个静态网站,为期 30 天,我想创建一个小型 Rails 应用程序来展示这些网站。我将在 Heroku 上托管这个。当我在本地运行我的 Rails 应用程序时,它可以工作,但不能在 Heroku 上工作。

我阅读了关于rendering static HTML 页面的帖子并让它工作了!通过简单地直接链接到我的公共文件夹:

views/landings/index.html.erb

<ul>
  <li>
  <a href="../oneWebsiteADay/colorNotes/index.html">Color Notes</a>
  </li>
  <li>
    <a href="../oneWebsiteADay/yeOldeMuffinShoppe/index.html">Ye Olde Muffin Shoppe</a>
  </li>
</ul>

这行得通,我可以单击链接并完整查看静态网站。当我部署到 Heroku 时,虽然收到以下错误:

我已阅读 all documentation Heroku provides 关于使用 Rails 呈现静态内容并相应地修改了我的配置:

config/environments/production.rb

Rails.application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = true
  config.serve_static_assets = true
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.log_level = :info
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end

但我仍然收到错误消息。不知道此时还能做什么如何在 heroku 上显示静态 HTML 页面?

路线:

Rails.application.routes.draw do
  get "/", to: 'landings#index'
end

【问题讨论】:

  • 你的路由文件是什么样的?
  • 我发布了我的路线文件供您观看

标签: ruby-on-rails heroku


【解决方案1】:

您的链接的路由文件中没有路由,因此出现错误。在the link you posted 中,它告诉您在路由文件中定义路由:

get '/foo', :to => redirect('/foo.html')

所以如果你在路由文件中定义你的路由为:

get '/colorNotes', :to => redirect('/oneWebsiteADay/colorNotes/index.html')
get '/yeOldeMuffinShoppe', :to => redirect('/oneWebsiteADay/yeOldeMuffinShoppe/index.html')

并相应地更改链接标签:

<a href="/colorNotes">Color Notes</a>
<a href="/yeOldeMuffinShoppe">Ye Olde Muffin Shoppe</a>

我认为这会起作用,但我不明白为什么它不搜索 heroku 上的公用文件夹。

另外,仅供参考,我认为您只需要:

config.serve_static_assets = true

不是所有其他设置,因为无论如何都可以访问公共目录。

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 2012-09-21
    相关资源
    最近更新 更多