我有一个运行在devise上的较旧的Rails应用程序。慢慢将其转换为反应。
首先使用react-rails gem进行集成。它用于在其他使用Rails的应用程序的某些地方渲染React组件。
使用project.html.erb
渲染
<%= react_component 'main' %>
这在大多数情况下有效,但是在main.jsx中执行http请求时:
componentDidMount() {
fetch('/projects.json')
.then(result => result.json())
.then(Data => this.setState({Data}))
}
它返回一个401 (Unauthorized)
错误
如果您取出
before_action :authenticate_user!
中的application_controller
我以前在angularjs中使用“ angular_rails_csrf” gem完成此操作,并且可以正常工作,我可以通过angularjs将内部http请求发送到rails。
我如何发送带有react-rails gem的http请求,该请求在具有devise的较旧的rails应用程序中运行?