我有一個隱藏的表單這樣解析陣列當我嘗試從存儲在PARAMS此ATTR哈希保存記錄:西納特拉不是從PARAMS
:{"title"=>"Iron Man 2",
"directors"=>"[\"Jon Favreau\"]",
"cast_members"=>"[\"Robert Downey Jr.\", \"Gwyneth Paltrow\", \"Don Cheadle\", \"Scarlett Johansson\", \"Sam Rockwell\"]",
"genres"=>"[\"Action\", \"Adventure\", \"Sci-Fi\"]",
"length"=>"124",
"trailer_url"=>"http://imdb.com/video/screenplay/vi1172179225/",
"year"=>"2010",
"languages"=>"[\"English\", \"French\", \"Russian\"]"}
我可以用這個代碼醜陋塊解析字符串數組210
Movie.serialized_attributes.keys.each do |k|
movie[k] = movie[k].gsub(/\"|\[|\]/, '').split(', ') if movie[k]
end
但這似乎只是愚蠢的,sinatra應該自動解析它(或不?),或者我可能會產生錯誤的方式。 我該如何解決這個問題?
注:只是試圖產生這樣的形式:
- Movie.attribute_names.each do |attr|
- if Movie.serialized_attributes.keys.include? attr
= f.hidden_field attr.to_sym, value: movie.send(attr), multiple: true
- else
= f.hidden_field attr.to_sym, value: movie.send(attr)
我希望有一些助手,以便傳遞數組對象作爲輸入值會自動生成正確的隱藏輸入。與阿賈克斯一起工作。 – nicooga 2013-02-25 19:46:25