当前位置:  开发笔记 > 后端 > 正文

Rails redirect_to post方法?

如何解决《Railsredirect_topost方法?》经验,为你挑选了3个好方法。

答案是你不能使用a进行POST redirect_to.

这是因为redirect_to只需将HTTP 30x重定向标头发送到浏览器,然后浏览器获取目标URL,浏览器只对重定向进行GET操作



1> LucaM..:

答案是你不能使用a进行POST redirect_to.

这是因为redirect_to只需将HTTP 30x重定向标头发送到浏览器,然后浏览器获取目标URL,浏览器只对重定向进行GET操作


是的我得到了这个但有没有办法用redirect_to或没有解决我的问题?

2> Steve Madsen..:

听起来你正在被Rails路由的工作方式绊倒.这段代码:

redirect_to :controller=>'groups',:action=>'invite',:group_id=>@group_member.group_id

创建一个类似于的URL /groups/invite?group_id=1.

如果没有您的映射routes.rb,Rails路由器会将此映射到show操作,而不是invite.inviteURL 的一部分映射到params[:id],当它尝试在数据库中查找该记录时,它会失败,您将收到您找到的消息.

如果您使用的是RESTful路由,那么您已经拥有如下所示的map.resources行:

map.resources :groups

您需要为以下内容添加自定义操作invite:

map.resources :groups, :member => { :invite => :get }

然后params[:group_id]#invite方法中更改您的引用以便使用params[:id].



3> 小智..:

我找到了一个半工作方式,我需要在Rails 3中实现这一点.我做了一个路由,可以在该控制器中调用需要后调用的方法."route.rb"中的一行,例如:

match '/create', :to => "content#create"

这可能是丑陋但绝望的时候需要绝望的措施.只是想我会分享.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有