Конфигурация транспортира и скрипты работают должным образом как в нашей локальной среде разработки, так и в среде непрерывной интеграции (аналогично Codeship).
Структура проекта следующая (я описываю статус среды Codeship ниже):
Приложение AngularJS запрашивает данные из сборки REST API с приложением Ruby on rails, используя запросы AJAX.
В нашей конфигурации Codeship мы настраиваем приложение rails, переносим и заполняем базу данных, чтобы все необходимые данные были доступны.
Приложение AngularJS также настроено правильно, поскольку страница входа отображается должным образом (я делаю экран печати, и главная страница загружается правильно).
Имя пользователя и пароль заполняются транспортиром с использованием действительных учетных данных (доступны в базе данных mysql).
Но при нажатии кнопки «Войти» возвращенный ответ от вызова AJAX - это метод 405, запрещенный.
Поскольку мы никогда не сталкивались с подобным ответом в других наших средах, мы полагаем, что он имеет какое-то отношение к конкретной настройке кодового корабля.
Есть мысли, почему API возвращает 405 только при кодировании?
Настройка приведена ниже:
rvm use 2.2.0 --install
cp config/database.codeship.yml config/database.yml
bundle install
export RAILS_ENV="test"
bundle exec rake db:drop RAILS_ENV=test
bundle exec rake db:create RAILS_ENV=test
bundle exec rake db:test:prepare
bundle exec rake db:migrate RAILS_ENV=test
bundle exec rake seed:migrate RAILS_ENV=test
cd frontend && npm install && cd ..
npm install -g grunt-cli
npm install -g http-server
cd frontend && npm install bower && cd ..
cd frontend && bower install && cd ..
cd frontend && grunt build && cd ..
cd frontend && webdriver-manager update --standalone && cd ..
export RAILS_ENV="development"
rake db:structure:load
rake seed:migrate
http-server public -a 127.0.0.1 -p 9000 > /dev/null &
http-server app > /dev/null &
bundle exec rake
cd frontend && grunt test && cd ..
Вот часть снимка экрана, на которой показан ответ API: