首页 > 解决方案 > 使用 fetch 在 rails 中传递变量

问题描述

我正在使用 Reactjs 在 Rails 中创建一个应用程序。我想将输入字段的值作为变量传递给控制器​​,以便我可以在def create. 我怎么能用 fetch 做到这一点?

标签: ruby-on-railsreactjs

解决方案


使用 fetch 的 POST 请求到您的:create方法的 API 后端端点。确保在发布时将变量包含在参数有效负载中。

然后在您的控制器中,您可以通过params

编辑:

从使用 POST 的 fetch api docs 示例(https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

async function postData(url = '', data = {}) {
  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
  });
  return response.json();
}

postData('/your/api/endpoint', { data: 'yourData' }).then(res=> { console.log(res) });

然后在您的控制器中,{ data: 'yourData' }通过参数访问,如下所示:

def create
  @data = params[:data]
  // Do what you want with @data here
end

在您的控制器中使用它们之前,最好先将您的参数列入白名单。


推荐阅读