如何重定向到呈现 React rails 页面的 rails 控制器上的 ruby

How to redirect to a ruby on rails controller that renders a react rails page

我的主页上有一个重定向到我的控制器的按钮: redirect_to edit_user_path(user, track: "homepage")

我可以看到重定向工作正常,因为如果我在控制器内撬动它,它就会冻结。

我的 users_controller 中的编辑操作呈现了一个 React 页面。我正在使用反应 rails gem.

当我访问 users/:id/edit 页面时,它工作正常,但是无论出于何种原因,当我通过重定向时它都无法正确加载。

# edit.html.erb
`<%= react_component("App", @data) %>`
# users_controller#edit
# GET users/:id/edit
def edit
  @tracking = params[:track] if params[:track].present?
  @data = {name: "steve", age: 33, track: @tracking}
end

看起来几乎所有的道具都丢失了,因为反应开发者工具说:"waiting for roots to load..."

我认为您的重定向代码有误。 你能在重定向控制器中试试这个吗?

redirect_to edit_user_path(user, track: "homepage")

使用redirect_to代替return

原来是时间问题。我使用的 link 启用了 turbolinks。当我将 turbolinks 更改为 false 时,一切都按预期工作。