gpt4 book ai didi

ruby - rails 3 redirect_to 将参数传递给命名路由

转载 作者:数据小太阳 更新时间:2023-10-29 07:13:10 25 4
gpt4 key购买 nike

我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的 redirect_to 将参数传递给重定向的建议

:action => 'something', :controller => 'something'

在我的应用程序中,我在路由文件中有以下内容

match 'profile'   =>  'User#show'

我的表演 Action 是这样的

def show
@user = User.find(params[:user])
@title = @user.first_name
end

重定向发生在同一个用户 Controller 中,就像这样

   def register
@title = "Registration"
@user = User.new(params[:user])

if @user.save
redirect_to '/profile'
end
end

问题出在注册操作中,当我 redirect_to 如何传递参数以便我可以从数据库中获取该用户或更好...我已经有一个用户变量,所以我如何传递用户对象参加表演事件?

-马修

最佳答案

如果您正在进行重定向,Rails 实际上会向浏览器发送带有 URL 的 302 Moved 响应,然后浏览器会向该 URL 发送另一个请求。所以你不能像在 Ruby 中那样“传递用户对象”,你只能传递一些 url 编码的参数。

在这种情况下,您可能希望将路由定义更改为:

match 'profile/:id' => 'User#show'

然后像这样重定向:

redirect_to "/profile/#{@user.id}"

关于ruby - rails 3 redirect_to 将参数传递给命名路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com