지난 몇 시간 동안 내가 어려움을 겪고 있습니다.Rails Puzzle : 중첩 된 값이 있는지 확인하십시오. 저장하지 않고 자식 값을 저장합니다.
중첩 된 속성이있는 양식이 있습니다. 각 게시물은 많은 위치를 소유하고 있습니다. 고유 한 각 위치가 필요하지만 여러 위치에 동일한 위치를 추가 할 수 있어야합니다. 이상적으로이 유효성 검사는 모델 내에서 수행됩니다.
- 그래서, 내 게시물에 그들은 다음 위치의 포 스퀘어 API를 검색, 어떤 일이 발생하는 것은 사용자 '는 위치를 추가합니다'입니다 형성한다.
- 제출시 위도와 경도가 이고 위치가 테이블에 저장되면 여기에 을 연결하는 Locations_Posts 테이블이 있습니다.
- 게시물 모델은 위치가있는 경우 을 확인해야합니다. 위치가있는 경우 위치에 아무 것도 추가하지 않으면 은 관련 데이터를 Locations_Posts 테이블에 추가하기 만하면됩니다.
*Posts.rb* # ================= # = Location validations = # = If location exists then just add to locations_posts, else create new location = def locations_attributes location && location.name end def locations_attributes=(value) self.location = Location.find_by_name(value) self.location ||= Location.new(:name => value) end
(rails: create Parent, if doesn't exist, whilte creating child record에서 도난)
그러나, 나는 다음과 같은 오류 받고 있어요 :
을Unknown key: 0
은 몇 가지 조사 후 나는 이런 식으로 뭔가를해야 할 것을 일한
나는이 스 니펫과 가까이 있어야하지만 마지막 장애물을 극복하기 위해 도움이 필요하다고 생각합니다! 사전에
감사합니다,
제임스
안녕하세요! 이것은 정상적으로 진행되는 것으로 보이고 요소가 만들어 지지만 미리 존재할 때 이름 값을 찾지 못하는 것 같습니다. 단순히 값을 저장하는 것입니다. 어떤 아이디어? –