2
我剛剛開始Rails開發,並有一個關於從具有可變數量的參數的URL將數據輸入到數據庫的序列化哈希中的問題。我試圖找出如何實現一個URL的任何數量的參數/值的形式(action?1=.5&2=.6&3=.1
等),我想添加到我的序列化哈希。如果我的散列已經有一些先前存儲的鍵/值,那麼我如何向同一個散列添加更多?我希望所有的數據都在一列中。序列化的哈希軌跡
我有一個方法,我將它傳遞模型對象:
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
謝謝!
雖然這是很好的意圖,你完全無視如何正確解析URL參數。這兩個部分都需要進行de-'%'編碼。 'Rack:Utils.parse_nested_query'和'CGI :: parse'都可以正確執行,而不必重新發明輪子。 – tadman
謝謝@tadman!好的提示。不知道CGI :: parse :) –
'Rack :: Utils'將處理Rails風格的嵌套參數,所以'{'a'=> {'b'=>'c'}}'將會正確編碼和解碼。 – tadman