#ruby-on-rails #rack #webrick
#ruby-on-rails #стеллаж #веб-кирпич
Вопрос:
Пытаюсь следовать «Ruby on Rails 3 Tutorial» и запускаю rails s
, получаю следующую ошибку:
[path]config.ru:1 in 'require': no such file to load -- fake_app
У меня есть местоположение fake_app.rb
в ПУТИ (которое, я полагаю, и пытается найти rails / rack)
Содержимое config.ru
генерируется по умолчанию:
require "fake_app"
run Rack::Test::FakeApp
Я использую rails 3.0.8 и Windows 7
Спасибо, что помогли этому законченному новичку!
Комментарии:
1. Вы могли бы попробовать заменить свою
require
строку наrequire ::File.expand_path('../config/environment', __FILE__)
и посмотреть, работает ли это лучше? Если это избавит вас от ошибки в строке 1, возможно, вам потребуется заменить строку 2 наRun FakeApp::Application
2. Кстати, мой ответ был вполне в духе «ответа новичка» — я не эксперт в правильной структуре
config.ru
файла, я просто просмотрел свой старый каталог проекта Rails 3 Tutorial и обнаружил, что именно так он был настроен 🙂
Ответ №1:
Вы сгенерировали это с помощью rails new [appname]
команды? Файл Rails 3.0 config.ru
по умолчанию должен выглядеть примерно так:
require ::File.expand_path('../config/environment', __FILE__)
run ApplicationName::Application
Если все, что вы сделали на этом этапе, это установили Ruby и Rails, я бы повторно запустил генератор, чтобы получить что-то, что работает.
Кроме того, поскольку вы используете Windows, я хотел бы порекомендовать Rails Installer для установки и настройки вашей среды. Это значительно облегчает процесс запуска.
Вероятно, это и есть тот учебник, о котором вы говорите, но я также настоятельно рекомендую учебник Майкла Хартла по Ruby on Rails для подробного ознакомления с Rails 3. Раздел о создании вашего первого приложения может оказаться полезным в этой ситуации.
Комментарии:
1. Да, в config.ru был сгенерирован с использованием rails new [appname] . Не уверен, почему я не получаю стандартное значение по умолчанию. Кроме того, да, это руководство по Hartl, которому я следую. Попробую установщик Rails.
2. Извините за дотошность, но если приложение называется demo_app и я запускаю: rails new demo_app, чего мне ожидать config.ru читать?
3. Та же
require
строка, что указана в моем ответе, с последней строкойrun DemoApp::Application
.4. По какой-то причине по-прежнему не работал под Windows native. Хотя ваши ответы абсолютно верны. В итоге я перешел на Cygwin и запустил там rails. Проблема решена. Спасибо