2
我從第一個動作獲取輸入,如何將值傳遞給另一個動作?Rails:如何在同一個控制器中將值從一個動作傳遞到另一個動作
example_controller.rb
def first
@first_value = params[:f_name]
end
def second
@get_value = @first_value
end
我從第一個動作獲取輸入,如何將值傳遞給另一個動作?Rails:如何在同一個控制器中將值從一個動作傳遞到另一個動作
example_controller.rb
def first
@first_value = params[:f_name]
end
def second
@get_value = @first_value
end
您無法通過實例變量,因爲第二個動作是在控制器的一個新的實例中運行。但是你可以傳遞參數...
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
謝謝。我可以在類中使用類變量@@,首先將值傳遞給類變量,然後在第二種方法中將此類變量分配給@get_value –
應用程序中永遠不會有多個用戶嗎?然後是的,你可以使用一個類變量...但是如果你有兩個或更多的用戶,你將會發生衝突。也許你需要的是'會話' – SteveTurczyn
這是正確的,多個用戶會導致問題。你的意思是我可以使用你的第一個解決方案和會話爲許多用戶的情況? –