如何重定向到呈现 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 时,一切都按预期工作。
我的主页上有一个重定向到我的控制器的按钮:
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 时,一切都按预期工作。