2016-10-24 53 views

回答

3

您無法通過實例變量,因爲第二個動作是在控制器的一個新的實例中運行。但是你可以傳遞參數...

def first 
    @first_value = params[:f_name] 
    redirect_to second_action_path(passed_parameter: params[:f_name]) 
end 

def second 
    @first_value = params[:passed_parameter] 
    @get_value = @first_value 
end 

您還可以使用session變量,這是你通常如何存儲值用戶...不要存放整個對象只是按鍵作爲會話存儲通常是有限

def first 
    @first_value = params[:f_name] 
    session[:passed_variable] = @first_value 
end 

def second 
    @first_value = session[:passed_variable] 
    @get_value = @first_value 
+0

謝謝。我可以在類中使用類變量@@,首先將值傳遞給類變量,然後在第二種方法中將此類變量分配給@get_value –

+0

應用程序中永遠不會有多個用戶嗎?然後是的,你可以使用一個類變量...但是如果你有兩個或更多的用戶,你將會發生衝突。也許你需要的是'會話' – SteveTurczyn

+0

這是正確的,多個用戶會導致問題。你的意思是我可以使用你的第一個解決方案和會話爲許多用戶的情況? –

相關問題