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 из коробки.