나는 레일 아주 새로운 오전 나는이 주위에 내 머리를 얻이 수없는 것 : 나는 다양한 프로젝트 다양한 클라이언트에 속하는이Ruby on Rails 3에서 스코프를 결합하는 방법은 무엇입니까?
.
scope :search_by_name, lambda { |fn| where('name LIKE ?', "%#{fn}%") }
scope :search_by_client, lambda { |fn| where('client_id LIKE ?', fn) }
모두 작동하는 것 : 내 프로젝트 모델에서
나는 두 가지 검색 기능을 가지고 있습니다. URL의 예를 들어 내가이 쿼리에 전달할 수 있습니다 : 나는 동등하게이 작업을 수행 할 수 있습니다
/projects?search_by_name=fooproject
:
/projects?search_by_client_name=misterx
이것은 클라이언트 MisterX에 속하는 모든 프로젝트 얻을 것입니다.
이제 수있는 방법이 foofoo라는 이름의 쿼리
/projects?search=foofoo
이 foofoo뿐만 아니라 클라이언트에 속하는 프로젝트라는 이름의 프로젝트를 검색 할 수 있도록이 두 가지 검색 기능을 결합 있는가?
도움 주셔서 감사합니다.
무엇을 귀하의 컨트롤러는 어떻게 생겼습니까? –
다음과 같이하십시오 :'@projects = current_user.projects.search_by_name (params [: name]). search_by_client (params [: client])' – Tintin81