Реагируйте на Rails REST API против контроллеров - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь решить, что является лучшим подходом к управлению Ruby on Rails и React в моем приложении.Я использую RoR 5 и gem react_on_rails, что делает все работает нормально для меня.Вопрос в том, должен ли я создать REST API с RoR, а затем получить к нему доступ через React, чтобы контролировать поведение компонентов, которые мне нужны.

Проблема, которую я обнаружил и не смог найти решение в настоящее времяявляется то, что я не могу поставить реквизиты от контроллера, в котором у меня есть два разных реквизита.Например,

class FooBarsController < ApplicationController
  def index
    @product_props = Product.all
    @testimonial_props = Testimonial.all.where('featured', [true])
  end
end

Это то, что я делаю в представлении

<%= react_compontent('FooBarProduct', props: @product_props) %>
<h2>Title</h2>
<%= react_compontent('FooBarTestimonial', props: @testimonial_props) %>

Я знаю, что логика контроллера не должна управлять двумя переменными одновременно.это означает, что я не могу поместить свои две таблицы в одно место, и мне приходится обрабатывать бизнес-логику модели.

В этом случае, что будет лучшим способом обработки реквизитов React через REST API или контроллеров, даже еслиЯ перегружаю контроллер?

1 Ответ

0 голосов
/ 03 декабря 2018

IMO, вы должны использовать сериализатор на ваших контроллерах и прикрепить данные глобальной переменной к ответу сериализатора.это предотвратит попадание тонны посторонних значений в клиент.

Если вы хотите, чтобы ваш API был чистым и спокойным, создайте приложение Node с CRA, поговорите с API-интерфейсом rails 5 и сделайте 2 вызова через componentDidMount () для вашего реагирующего компонента.

...