2016-02-08 77 views
4

如何將參數傳遞給我的current_user重定向?帶參數的redirect_to current_user

# SessionHelper.rb 
def current_user 
    if(user_id = session[:user_id]) 
     @current_user ||= User.find(user_id) 
    else 
     @current_user = nil 
    end 
end 

#SomeController.rb 
def some_action 
    redirect_to current_user, param1: "bubbles" 
end 

# routes.rb 
resources :doctors, :admins, :agencies # this is the line that handles current_user path 

如產生的URL會像foo.com/?param1='bubbles'。這裏的令人困惑的事情是,我使用STI爲不同類型的用戶,讓每一個用戶類型都有自己的「秀」網址,所以像這樣的

方法
redirect_to controller: 'thing', action: 'edit', id: 3, something: 'else' 

是行不通的,因爲每個用戶類型都有它自己的控制器。

+0

您可以發佈您的路線? –

+1

@RichPeck更新了這個問題。 –

+0

你想通過的其他'param'是什麼?如果所有控制器都一樣,爲什麼不爲它創建一些通用功能? –

回答

2

您可以使用

redirect_to polymorphic_path(current_user, something:'else') 
+0

它沒有工作。仍然沒有參數在URL中。 –

+0

@BurakÖzmen是這些'nil'?沒有價值的參數不會追加到路徑 – Vasfed

+0

不,我相信他們不是零,但我會再試一次。 –