React On Rails гем с Rails API

Я пытаюсь запустить React поверх Rails API. Я создал приложение Rails с --api пометить его, чтобы я мог сделать его как можно более минималистичным, и я выбрал гем act_on_rails, чтобы React работал поверх него, поскольку это был хороший способ развязать клиентские и серверные приложения.

Я проследовал за учебником на странице Github в геме и все заработало, но когда я пытаюсь получить доступ к URL http://localhost:5000/hello_world после запуска Формана я получаю следующее:

19:34:58 web.1    | Started GET "/hello_world" for 127.0.0.1 at 2017-03-07 19:34:58 +0000
19:34:58 web.1    | Processing by HelloWorldController#index as HTML
19:34:58 web.1    | Completed 204 No Content in 0ms (ActiveRecord: 0.0ms)

Я почти уверен, что причина, по которой я получаю этот ответ, заключается в том, что Rails не проходит через весь конвейер ресурсов и не рендерит index.html.erb вид, из-за режима API.

Поэтому мой вопрос заключается в том, могу ли я заставить Rails API работать с React, используя гем response_on_rails, так же, как и все? Или мне нужно внести изменения в конфигурацию, чтобы приложение Rails перестало работать в "режиме API"? Или, возможно, я могу настроить конфигурацию драгоценного камня для правильной работы, хотя я не смог ничего найти в документации.

мой hello_world_controller.rb контроллер, автоматически сгенерированный с rails generate react_on_rails:install выглядит так:

class HelloWorldController < ApplicationController
  def index
    @hello_world_props = { name: "Stranger" }
  end
end

Буду очень признателен за любую помощь и рекомендации, поскольку я не являюсь экспертом ни по одному из этих инструментов. Спасибо!

1 ответ

В конечном итоге React on Rails обслуживает пакет веб-пакетов через уровень представления Rails. Так что нет, это не будет работать с api-only из коробки.

Другие вопросы по тегам