我在 The Rails 3 Way 一书中看到了一个例子
redirect_to post
由于post
,这是否有一些特殊含义,或者它只是一个示例的不良选择,post
只是一个域对象,它重定向到该对象的url
答案 0 :(得分:7)
我需要查看完整答案的完整示例,但我的猜测是作者只选择了“Post”作为其中一个模型的名称而没有意识到它可能会导致读者混淆POST动作。
作为HTTP协议(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)的一部分,您实际上无法重定向到POST操作。或者,更明确地说,使用重定向调用的任何目标都需要使用GET方法返回。
希望有所帮助!
答案 1 :(得分:1)
答案 2 :(得分:0)
你需要一个Post资源和config / routes.rb中的相应路由
只需执行“rails g resource post title:string content:text”,例如生成一个。 “redirect_to post”中的路由是动态处理的。 Post“post”的实例作为参数传递给redirect_to方法,导致页面重定向到帖子#show action并传递Post实例的id。这是“铁轨魔术”