Sont des paramètres de tableau dans les rails garantis dans l'ordre dans lequel ils apparaissent dans l'URL?
-
26-09-2019 - |
Question
Étant donné l'adresse suivante: http://example.com?arr [] = bonjour & arr [] = pour & arr [] = vous
Suis-je en mesure de banque sur le fait que:
params[:arr] == ['hello', 'to', 'you']
Je demande parce que j'ai des données supplémentaires qui seront envoyés à la demande qui doit être mis en correspondance avec chacune des valeurs params [: arr].
La solution
Oui, ils sont.
Eh bien, peut-être prouver à partir du code où les paramètres d'URL sont analysés serait à portée de main (je l'ai ommited un code de l'exemple):
#
# file: ../rack-1.2.1/lib/rack/utils.rb
#
def normalize_params(params, name, v = nil)
# code ommited for simplicity...
if after == ""
params[k] = v
elsif after == "[]"
params[k] ||= []
# HERE IT IS!
params[k] << v
elsif
# code ommited for simplicity...
# ...
end
bien, vous devriez jeter un oeil vous-même, mais comme vous pouvez le voir, la partie cruciale est où les valeurs sont simplement ajoutées au tableau -. Cette opération gardera l'ordre
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow