2012-05-02 26 views
2

我相信这是一个头脑问题,所以提前道歉。我想用一个字符串我redirect_to的,就像这样:如何在redirect_to中使用字符串?

class AppStoreController < ApplicationController 

    def get_app 
    . 
    . 
    . 
    redirect_path_string = "address_book_path" 
    redirect_to redirect_path_string 
    end 

end 

(该redirect_path_string将在控制器中使用可用的变量来构建,但我想抽象出来,详细说明了这个问题)

当我这样做时,我的浏览器中显示“连接已重置”。

有什么想法?

+0

没有什么内在的错误这一点 - 你可以用一个字符串重定向,但它是有益的,如果你可以给我们提供了一个完全组成的字符串(插入变量)是失败。 – jefflunt

+0

@normalocity - 我遵循Yosep的建议,它像一个魅力。但是,为了回应你的帖子,我完全组成的字符串实际上是“address_book_path”。显然,正如Yosep指出的那样,我需要该字符串是一个完全限定的URL而不是一个命名路径。感谢您的评论! – jvillian

回答

6

您需要提供完全限定的URL才能对redirect_to使用字符串。 Rails使用约定来从* _path生成一个URL,在这种情况下是'address_book_path'。以下是你可以用redirect_to做什么的一些例子。欲了解更多信息,请访问http://apidock.com/rails/ActionController/Base/redirect_to

redirect_to :action => "show", :id => 5 
redirect_to post 
redirect_to "http://www.rubyonrails.org" 
redirect_to "/images/screenshot.jpg" 
redirect_to articles_url 
redirect_to :back 
+0

谢谢!将我的字符串构建为完全限定的URL完全是个诀窍。辉煌。 – jvillian

+0

很高兴它工作得很好。快乐RoRing! –

相关问题