2013-01-19 10 views
1

如何重定向到視圖內的某個路徑或頁面。我讀過redirect_to是一個ActionController的東西,不能在視圖中使用。我如何在視圖中只使用Rails來做到這一點,除此之外,我怎樣才能在控制器或模型或幫助器中寫入重定向,然後在視圖內寫入實例變量。我正在使用Devise。我不想使用Javascript或JQuery。只是Rails!redirect_to內部視圖 - RAILS - DEVISE重定向到user_session_path

我嘗試這樣做:

class Post < ActiveRecord::Base 
    attr_accessible :content, :title 
    @Uchecker = user_signed_in? 
    redirect_to user_session-path 
end 
+0

您的重定向應該在您的控制器中。如果你想在你的視圖中的東西 - 添加一個鏈接供用戶選擇。你可以在方法中添加Uchecker作爲before_filter –

+0

我會試着這樣做然後.. – MFCS

回答

0

當您使用* redirect_to的*從控制器,而不是渲染視圖,它的作用是使HTTP重定向

現在,如果你想從視圖中做一個重定向,你仍然可以使用JavaScript

<script type="text/javascript"> 
    window.location = "<%= user_session_path %>"; 
</script> 

不是最好的做法,但它的工作原理,以及它的中間頁一種常見的做法(即當您搜索一次旅行,旅行搜索可能需要60秒,因此您呈現一個視圖,您向用戶展示某些內容,例如您正在尋找最佳旅程,並且您執行JavaScript重定向,一旦結果準備就緒,頁面加載)。