문제

내가 있는 프로젝트가 사용되는 활동을 기록하고 있는 추 몇 가지 새로운 기능을 사용하여 MongoDB.보다는 오히려 다시 바퀴를 발명하고 다시 쓰기 전체 사이트,나는 어떻게 통합하는 2 개의 모델에 함께 사용하는 MongoMapper 및 기타 ActiveRecord(postgres).

내가 찾는 다른 사람이 그것을 성공적으로,그러나 없음 예제:

http://groups.google.com/group/mongomapper/browse_thread/thread/ec5ad00e18e7dd2c/887b8b0b904a8f73?lnk=gst&q=activerecord#887b8b0b904a8f73

예를 들어,내가 STI 모델 몽고(s)의 장소는 관련 원하는 기존 ActiveRecord 모델의 위치에...ie 도시입니다.사용자 모델에 따라 Authlogic...어떻게 사용할 수 있습니 콘서트에서?나에게 감사에 대한 포인터 또는 두 가지 오른쪽 방향입니다.

감사합니다,

도움이 되었습니까?

해결책

이것은 아름답게 작동했습니다

장소 모델

  key :location_id, Integer, :required => true

    def location
        Location.find(location_id)
    end

위치 모델

  def self.find_places(id)
    Property.find_by_location_id(id)
  end

  def find_places
    Property.find_by_location_id(id)
  end

다른 팁

를 사용할 수도 있습 형변환.

대신에 저장하 location_id 에 mongodb 을 구현할 수 있습하는 클래스 메서드 from_mongoto_mongo, 에 위치 등을 허용하 mongomapper 직렬화하여 각각의 위치는 인스턴스 몽고 안전하고 친절한 방식이다.

간단(istc)예제:

소 모델

key :location, Location, :required => true

위치 모델

def self.to_mongo(location)
  location[:id]
end

def self.from_mongo(location_id)
  find(location_id)
end

이것은 물론,정확히 같은 예를 들어서 이전의 대답이다.차가운 것은 여기에는 직렬화할 수 있습 전체 문자열로,더 많은 데이터 필요한 경우,따라서 쉽게 만들기를 쿼리하고 데이터를 검색하고 있습니다

예를 들어,location_id 고 조정할 수 있도록 모방 geodb 및 지도/감소를 위한 장소에서 같은 위도.(예보,나도 알아요)

참고: 더 MongoMapper Awesomenes

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top