Вопрос по static, rack, cedar, heroku – Heroku Cedar чистая стойка статический сайт

2

Я пытался объединить два руководства для размещения статических сайтов:

Deploying Rack-based Apps for the cedar stack Static Sites with Ruby on Heroku/Bamboo

По сути, я хочу иметь возможность делать то, что вы делаете в старом уроке по бамбуку в кедровой стопке. Я могу заставить учебник кедра работать, но когда я пытаюсь изменить его для обслуживания файлов, я получаю сообщение об ошибке.

Я посмотрел наследующий пост, но репозиторий github, похоже, больше не работает, и я не могу понять, где я ошибся.

Когда я пытаюсь запустить сайт локально согласно первому учебнику, я получаю следующую ошибку:

[email protected]:~/code/martinrichards.me$ rackup -p 9292 config.ru &
[2] 4065
[email protected]:~/code/martinrichards.me$ /home/martin/.rvm/gems/ruby-1.9.3-p194/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval':     /home/martin/code/martinrichards.me/config.ru:2: syntax error, unexpected tIDENTIFIER, expecting '}' (SyntaxError)
200, ... |env|"
...

Я поместил то, что у меня есть до сих порGithub, Любая помощь будет высоко ценится.

Ваш Ответ

1   ответ
2

config.ru почти полностью пусто Похоже, вы придерживаетесь той же структуры сайта, что и учебник по Heroku, поэтому начните с config.ru, например:

use Rack::Static, 
  :urls => ["/stylesheets", "/images"],
  :root => "public"

run lambda { |env|
  [
    200, 
    {
      'Content-Type'  => 'text/html', 
      'Cache-Control' => 'public, max-age=86400' 
    },
    File.open('public/index.html', File::RDONLY)
  ]
}

Поскольку вы находитесь на кедре, полезно использоватьProcfile запустить ваши процессы. Так что добавьте файл с именемProcfile (без расширения) к вашему корню и поместите в него следующее:

web: bundle exec rackup config.ru -p $PORT

Это должно сделать это.

Если вы хотите использовать Sinatra, у Heroku есть пошаговое руководство для сайтов Ruby на Cedar:https://devcenter.heroku.com/articles/ruby

EDIT:

Как выяснилось, у вас проблемы с окончанием строки в вашемconfig.ru, Вот почему GitHub неправильно отображает файл. Ваши окончания строки^M, которые заканчиваются на DOS / Windows / Mac OS 9. Вот почему Ruby выдает ошибку в строке 2 - это первый разрыв строки. Не уверен, какой текстовый редактор вы используете, но он, вероятно, поддерживает изменение концов строки. Переключите их Unix, и все должно работать нормально. Если вы ищете текстовый редактор, который может это сделать, проверьтеВозвышенный текст 2, Функциональность окончания строки находится в & quot; View & quot; меню.

Поскольку вы создаете чистое приложение Rack, вам на самом деле не нужноProcfile, поскольку по умолчанию сборка Heroku Cedar обнаружитconfig.ru для тебя. Тем не менееProcfile пригодится, когда вы начнете использовать другие фреймворки (например, Sinatra). Кроме того, если вы находитесь на Mac, вы можете использоватьмастер имитировать процесс раскрутки Heroku. Обратите внимание, чтоProfile без расширения и с заглавной буквы "P".

Спасибо за ответ, мой config.ru был идентичен вашему, просто он не показывает полный файл при просмотре на github. Вы должны перейти к & quot; редактировать этот файл & quot; и вы видите полное содержание. Ошибка на github? Martinffx
Спасибо, кажется, проблема заключалась в конце строки. Martinffx
Оказывается, ваша проблема с окончаниями строки в васconfig.ru, Я обновил свой ответ, чтобы объяснить.
Я обновил свой вопрос выводом, полученным при попытке запустить его локально. Martinffx

Похожие вопросы