if policy_session[:modalities] #array exists just add new value to it policy_session[:modalities] << [params[:modality], policy_session[:mode_list]] else #the array does't exist yet, so create and add first one. policy_session[:modalities] = [params[:modality], policy_session[:mode_list]] >> policy_session[:modalities] >># [["var_1"], "1",[["var_2"], ["2"]], [["var_3"], ["1"]]] >>policy_session[:modalities] >># [["var_1", "1"], ["var_2", "2"], ["var_3", "1"]] policy_session[:modalities] ||= [] # set it to an empty array if nil policy_session[:modalities] << [params[:modality], policy_session[:mode_list]] policy_session[:modalities] ||= [] # set it to an empty array if nil policy_session[:modalities] << [params[:modality], policy_session[:mode_list]].flatten