Так что, если я запустил сервер разработки и перейду на 'localhost:3000
(что, в сущности, вы и говорите Капибаре), то на странице появится неработающая ссылка «Войти», которая указывает на app.localhost:3000/login
, чтоприложение не обрабатываетЭто связано с тем, что при посещении URL-адреса без субдомена app
используется макет application.html.haml
, в котором отсутствует JS (и, следовательно, нет маршрутизатора Vue для обработки пути /login
).Если, однако, я перехожу на app.localhost:3000
в браузере, то появляется страница с работающей ссылкой Log In
, так как все JS загружаются на эту страницу (включая маршрутизатор Vue), потому что он использует макет app.html.haml
(BaseController)
Вам необходимо исправить ссылку на главную домашнюю страницу, чтобы она функционировала правильно и / или настроить Capybara для подключения к субдомену app
по умолчанию
Capybara.app_host = 'http://app.localhost' # hostname with ‘app’ sub domain that resolves to interface the AUT is being run on
Capybara.always_include_port = true
По сути, Capybaras сообщает вам, что главная страница ваших приложений не работает, посколькуоно сломано.