Я использую Rails как серверный API для поддержки внешнего интерфейса, созданного с помощью VueJS. Я хочу отправить запрос POST из VueJS при нажатии кнопки на веб-сайте, я использовал для этого ax ios
`
methods: {
// Performs a POST request to the rails endpoint and passes the email and pass as parameters
signup() {
if (this.password === this.password_confirmation) {
this.$http.plain
.post("/signup", {
email: this.email,
password: this.password,
password_confirmation: this.password_confirmation
})
// If successful execute signinSuccesful
.then(response => this.signinSuccesful(response))
// If it doesn't run for whatever reason, execute signupFailed
.catch(error => this.signinFailed(error));
}
},`
Теоретически это должно создать POST запрос, который будет получен API, я попытался перехватить такой запрос: post "signup", controller: :signup, action: :create
Однако, когда я смотрю в консоль на chrome, я получаю сообщение об ошибке при первой загрузке сайта :
`0/signin net::ERR_CONNECTION_REFUSED`
И еще одна ошибка, когда я нажимаю кнопку, чтобы отправить запрос POST: *
Доступ к XMLHttpRequest в 'http://localhost: 3000 / регистрация 'from origin' http://localhost: 8080 'было заблокировано политикой CORS: тип содержимого поля заголовка запроса не разрешен Access-Control-Allow-Headers в предполетном ответе.
Мой файл application.rb выглядит следующим образом:
`module RecordstoreBackend
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
config.api_only = true
config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*', headers: :any, methods: [:get, :patch, :put, :delete, :post, :options]
end
end`
Я думаю, что проблема в этом файле, но я не уверен, как его настроить. Спасибо за помощь.