Получение строки JSON и сохранение одного из параметров массива в базе данных в виде полной строки - PullRequest
1 голос
/ 04 мая 2010

Привет, у меня есть строка JSON, которая выглядит следующим образом (с помощью Rails и службы REST) ​​

  {  
   person:   
      {
         name:"Pepe",
         last:"Smith"
         hats:[ { team:"lakers", color:"purple"}, { team:"heats", color:"red" }]   }   }

Я хочу иметь возможность получить этот JSON и сохранить Person в базе данных, но я хочу сохранить "шляпы" .. как строку в базе данных; без разбора или чего-то в этом роде

т.е. Я хочу сохранить это в SQL:

hats = "[{team:" lakers ", цвет:" purple "}, {team:" heats ", цвет:" red "}]}"

Есть ли способ сделать это в рельсах?

1 Ответ

3 голосов
/ 04 мая 2010

Строка JSON преобразуется в хэш params до вызова действия контроллера. Вы можете сделать to_json вызов атрибута hats, чтобы получить эквивалентную строку json.

def create
  params[:person][:hats] = (params[:person][:hats]||{}).to_json
  p = Person.new(params[:person])
  if p.save
    #success
  else
    #error
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...