2012-05-02 55 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! –

相關問題