Ответить скриптом из приложения Rails API с ограниченным промежуточным программным обеспечением (config.api_only = true)? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть сборка приложения Rails 5 как приложение API . По умолчанию он отвечает только с помощью json.

Но для одного конкретного запроса мне нужно, чтобы приложение ответило скриптом.

В обычном приложении на Rails я просто поместил бы свой скрипт в js.erb файл. Это не сработает здесь.

Если действие моего контроллера выглядит так:

def respond_with_js
end

и я запрашиваю приложение следующим образом:

$.getScript("https://myapp.example.com/respond_with_js");

отвечает: 204 No Content:

Started GET "/respond_with_js" for 127.0.0.1 at 2018-06-27 20:28:44 +0200
Processing by ApplicationController#respond_with_js as */*
Completed 204 No Content in 0ms

Как мне обойти это?

1 Ответ

0 голосов
/ 27 июня 2018

Вы не можете запросить как скрипт, если сервер rails является только версией API.

Rails по умолчанию отвечает json.

def respond_with_json
   render json: {message: "works"}, status: :ok
end

Чтобы запросить его, вам нужно запросить как json dataType:

$.ajax({
    url: "https://myapp.example.com/respond_with_json",
    method: "GET",
    dataType: "json",
    success: function(res){
       console.log(res.message)
    }
})
...