2011-06-13 3 views
2

나는 cancan 's accessible_by를 사용하여 권한이있는 공지 사항, 리소스 등을 반환하는 문제가 있습니다 (특정 공지 사항, 리소스 등에 대한 subject_id를 기반으로 함). 다양한 모델을 위해이 모델을 모두 검색하고 페이지 설정, 주문 등을 허용하는 유효한 결과와 승인 된 결과 만 가져올 수 있기를 바랍니다.Rails 3, Cancan, accessible_by와 함께 여러 모델 검색

솔직히 약간 분실했습니다. 어떻게 최선의 접근 방식. 처음에는 각 모델 유형 (기본적으로 인덱싱 테이블)의 다양한 속성을 저장하는 다형성 테이블 "검색"을 할 수 있다고 생각했지만 그 시점에서 기본 모델을 실제로 인증 할 수는없는 것 같습니다.

어떤 도움을 주시면 감사하겠습니다. 더 나은 방법을 생각해보십시오. 유일한 실제 요구 사항은 현재 사용자의 승인 된 결과 만 반환되는 앱의 콘텐츠에 대한 "글로벌 검색"의 일종입니다.

+0

검색이란 무엇입니까? 전체 텍스트 검색? –

답변

0

Rails3에서 관계 연산자는 관계를 반환하기 때문에 추가로 연결할 수 있습니다.
컨트롤러 동작 :

Model.accessible_by(current_ability).where('name LIKE "%?%"', params[:search])