0
RoR 프로젝트에서 작업 중이며 스크립트에 JSON 객체를 전달하고 있습니다. 특히 jquery 달력에 대한 이벤트 목록입니다.Ruby + JSON + Regexp
먼저 내가 활성 기록에서 필요한 이벤트를 얻고 JSON으로 변환 : 스크립트가 기대하고 있기 때문에이 문제가 실행하고, 그러나
[{"calendar_event":{"starts_at":"2010-08-14T17:15:00Z","id":1,"availability":true,"ends_at":"2010-08-14T17:45:00Z"}},
{"calendar_event":{"starts_at":"2010-08-15T15:45:00Z","id":2,"availability":true,"ends_at":"2010-08-15T16:15:00Z"}},
...]
:
@events = CalendarEvent.find(:all, :conditions => ["mentor_id = ?", current_user]).to_json(:only => [:id, :availability, :starts_at, :ends_at])
이 다음을 반환 다음 형식 :
[{"starts_at":"2010-08-14T17:15:00Z","id":1,"availability":true,"ends_at":"2010-08-14T17:45:00Z"},
{"starts_at":"2010-08-15T15:45:00Z","id":2,"availability":true,"ends_at":"2010-08-15T16:15:00Z"},
...]
처음에 나는 그것이 개별 해시에서 값을 가져 오는 간단한 문제와 그 값으로 채워진 배열을 반환하는 것입니다. 그러나 배열의 모든 것이 하나의 큰 문자열 인 것 같습니다. 그래서 정규 표현식을 사용하여 필요한 것을 얻으려고했습니다. 내 최선이었다 :
@json = @events.scan(/\[\{\"calendar_event\":(\{.*\})\}\]*/)
하지만이 형태의 뭔가를 반환 : 어떤 도움을 주시면 감사하겠습니다
[["{\"starts_at\":\"2010-08-14T17:15:00Z\",\"id\":1,\"availability\":true,\"ends_at\":\"2010-08-14T17:45:00Z\"}},{\"calendar_event\":{\"starts_at\":\"2010-08-15T15:45:00Z\",\"id\":2,\"availability\":true,\"ends_at\":\"2010-08-15T16:15:00Z\"}},..."]]
합니다.
감사합니다. 나는 이것을 몇 시간 전에 발견했으면 좋겠다. – Phillip
나를 웃게 만든 RTFM의 고전적인 예; 좋은 조언과 훌륭한 답변! – Luceos