Google은 일반적인 소셜 콘텐츠 (블로그/포럼/스트림 등)를 제공하는 웹 앱을 보유하고 있습니다.레일 디자인/코딩
모든 콘텐츠는 도시로 표시 될 수도 있습니다. 나는. 블로그 게시물이 뉴욕에만 해당되는 경우 블로그 게시물은 뉴욕으로 표시됩니다.
사용자가 도시보기 환경 설정을 지정하고 모든 것을 다른 사람에게 보여 주면 모든 사이트의 도시 정보 만 표시 할 수 있습니다.
그래서 city_specifc_view에 'city and city == current_city'를 추가해야합니까? (특히이 논리가 변할 위험이 있기 때문에) 유지 보수가되는 모든 모델 클래스의 모든 파인더에 적용됩니다.
이 논리를 적용하는 올바른 방법이 무엇인지 궁금합니다. 모델 전체에 if/else 대신 중앙 위치 (기본 찾기를 오버 라이딩하는 것처럼)를 수행 할 수 있습니까? 원숭이가 ActiveRecord에 패치를 취하고 있습니까?
감사 페르 도움이 될 수 있습니다. 당신은 해결책이 좋습니다. 필터에 쿼리를 추가하여 DB로부터 필터링 된 데이터를 가져 오는 것을 피할 수 있다면 생각하고있었습니다. 나는 with_scope를 사용하여 AR에 패치를 적용하여 파인더를 관리했습니다. 하지만 아직까지는 연관성을 위해 생성 된 쿼리를 처리해야합니다. –
나는 연관성이있는 관련 쿼리를 포함하지 않지만 함정이있다. DB가 로컬 인 경우 더 작은 (인덱싱 된) 쿼리가 하나의 큰 쿼리 (조인이 필요한 경우)보다 좋을 수도 있고, 원격 인 경우 네트워크 연결이 적을 수도 있습니다. 너의 DB가 더 좋다. 희망은 당신을 돕는 것이지만 항상 그렇듯이 : 선택하기 전에 솔루션을 벤치마킹하십시오! – Oinak