Je viens de commencer Rails dev et j'ai une question sur la saisie de données dans un hachage sérialisé dans ma base de données à partir d'un URL avec un nombre variable de paramètres. J'essaie de comprendre comment implémenter une URL avec n'importe quel nombre de paramètres/valeurs dans le formulaire (action?1=.5&2=.6&3=.1
etc) que je veux ajouter à mon hash sérialisé. Si mon hash contient déjà des clés/valeurs précédemment stockées, comment puis-je en ajouter d'autres dans le même hachage? Je veux que toutes les données soient dans une colonne.Rails de hachage sérialisés
J'ai une méthode où je passe un objet modèle:
def add_data_to_hash(obj)
params.each do |key, value|
if (key.to_i.is_a?(Integer) && key.to_i != 0) then
obj.hash[key] = value
obj.save
end
end
end
Merci!
Bien que cela soit bien intentionné, vous ignorez complètement comment analyser correctement les paramètres d'URL. Les deux parties doivent être codées de-'%'. 'Rack: Utils.parse_nested_query' et' CGI :: parse' feront tous les deux correctement sans avoir à réinventer la roue. – tadman
Merci @tadman! Bon conseil. Ne connaissait pas CGI :: parse :) –
'Rack :: Utils' gérera les paramètres imbriqués de style Rails, donc des choses comme' {'a' => {'b' => 'c'}} 'seront correctement encodé et décodé. – tadman