【问题标题】:Heroku static site not loading the page data when switching to new pagesHeroku静态站点在切换到新页面时未加载页面数据
【发布时间】:2016-09-10 22:44:24
【问题描述】:

使用以下代码在 Heroku 上创建了简单的静态站点:https://devcenter.heroku.com/articles/static-sites-ruby

当我在浏览器中本地打开页面时,一切正常。我点击链接,然后登陆我想要的页面。 但是,当我运行 rackup (localhost:9292) 或将其推送到 heroku 时,主页会加载,然后如果我尝试转到 page2.html 之类的内容,则会加载 url,但浏览器仍会显示来自主页的数据。

我重新创建了一个简单的示例: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)
  ]
}

【问题讨论】:

    标签: javascript html ruby-on-rails heroku static


    【解决方案1】:

    你到底想做什么?你想创建一个可以在 Heroku 上托管的 Rails 项目吗? 如果是,则使用 heroku 创建的gem 在本地计算机上执行更好更简单的方法。如果您需要有关在 heroku 上推送/托管应用程序的步骤的更多帮助,请告诉我。

    【讨论】:

    • 嗨。谢谢。我添加了一个示例来准确地向您展示。 peaceful-atoll-24169.herokuapp.com。我只想要一个带有链接到另一个页面的页面的简单站点。当您点击 hello 时,它应该转到 2.html 并将页面内容更改为 Yo。但相反,url 发生了变化,但页面内容却没有。有什么想法吗?
    • 我的建议是首先从本地计算机创建一个 Rails 应用程序,然后托管,然后将其推送到 heroku 上进行托管。我将在新的回答线程中为您提供有关如何执行此操作的完整说明。
    【解决方案2】:

    这假设您已经在本地计算机上安装了 rails,如果没有,您可以使用 link 安装 rails 1. 从终端或命令窗口创建一个新的 rails 应用程序。使用rails new name-of-app 创建一个新的rails 应用程序 2. 将目录更改为您的应用程序名称文件夹,并确保 rails 服务器运行并且您能够预览应用程序。通过从当前应用程序名称文件夹运行 rails server 来预览应用程序。您可以通过 MacOS 上的 Command+C 或 PC 上的 Ctrl+C 停止服务器运行 3. 为您的应用程序文件初始化一个 git 存储库,运行 git init 然后运行 ​​git add -A 然后运行 ​​git commit -m "Initial commit of app" 然后 git push(确保从应用程序名称目录执行此操作) 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
    
    1. 运行bundle install
    2. 在 name-of-app/app/controllers 文件夹中创建一个 Welcome Controller 类 WelcomeController

      结束 结尾 检查here config/routes.rb 中welcome#index 的根路由root 'welcome#index'here

    3. 在您的 app/views/ 文件夹下创建一个欢迎文件夹,并在该文件夹中创建一个 index.html.erb 文件并将其填写为

      欢迎使用我的应用程序

    4. 通过运行rails server 预览您的应用程序,确保它进入索引页面。
    5. 通过重复步骤 3 将代码提交到 git。
    6. 通过运行heroku create 创建一个heroku 应用程序(确保您在本地计算机上安装了heroku toolbet 并使用heroku login 登录
    7. 通过运行git push heroku master 将您的代码项目部署到heroku 提示:要更改应用程序的名称,请运行 heroku rename newnameofyourapp

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 2019-03-17
      • 2021-02-14
      • 2015-04-02
      • 1970-01-01
      • 2022-01-04
      • 2016-04-04
      • 1970-01-01
      • 2020-06-02
      相关资源
      最近更新 更多