【问题标题】:React on Rails REST API vs Controller PropsReact on Rails REST API 与控制器道具
【发布时间】:2018-12-02 23:21:07
【问题描述】:

我正在尝试确定在我的应用程序中管理 Ruby on Rails 和 React 的更好方法。我正在使用 RoR 5 和 gem react_on_rails,这让我一切正常。问题是我是否应该使用 RoR 构建一个 REST API,然后通过 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) %>

我知道控制器的逻辑不应该同时管理两个变量。这意味着我不能将两张表放在一个地方,我必须处理模型上的业务逻辑。

在这种情况下,即使我重载了控制器,通过 REST API 或控制器道具处理 React 道具的最佳方法是什么?

【问题讨论】:

    标签: ruby-on-rails reactjs react-on-rails


    【解决方案1】:

    IMO,您应该在控制器上使用序列化程序并将全局变量数据附加到序列化程序响应中。这将防止大量无关值逃逸到客户端。

    如果您必须保持 API 的纯净和宁静,请使用 CRA 制作一个 Node 应用程序,并让该应用程序与您的 rails 5 API 对话,并通过您的 react 组件上的 componentDidMount() 进行 2 次调用。

    【讨论】:

    • 你能给我看一个全局 aria me 数据到序列化器响应的例子吗?
    猜你喜欢
    • 2021-10-26
    • 2012-08-12
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2020-03-20
    • 2016-05-20
    相关资源
    最近更新 更多