2
방금 레일스 dev를 시작했고 데이터베이스에 serialize 된 해시에 데이터를 입력하는 것에 대한 질문을 params 변수 번호가있는 url에서 가져 왔습니다. 어떻게 직렬화 된 해시에 추가 할 양식 (action?1=.5&2=.6&3=.1
등)의 매개 변수/값의 모든 번호와 함께 URL을 구현하는 방법을 알아 내려는 중입니다. 내 해시에 이전에 저장된 일부 키/값이 이미있는 경우 동일한 해시를 추가하려면 어떻게해야합니까? 모든 데이터를 하나의 열에 넣기를 원합니다.일련 화 된 해시 레일
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 매개 변수를 올바르게 구문 분석하는 방법을 완전히 무시하고 있습니다. 두 부분 모두'-'로 인코딩되어야합니다. 'Rack : Utils.parse_nested_query'와'CGI :: parse'는 바퀴를 다시 발명하지 않아도 제대로 작동합니다. – tadman
Thanks @tadman! 멋진 팁. CGI :: parse를 모른다 : –
'Rack :: Utils'는 Rails 스타일의 중첩 된 매개 변수를 처리 할 것이므로'{ 'a'=> { 'b'=> 'c'}}'와 같은 것들이 적절하게 될 것이다. 인코딩 및 디코딩. – tadman