표준 레이아웃에서 헤더 부분을 호출하는 경우가 있습니다. (이것은 매우 일반적입니다.) 머리글은 검색 상자입니다. stackoverlow와 같습니다. 그러나 사용자가 검색 페이지에있을 때 헤더에서 검색 상자를 제거하고 싶습니다.Ruby On Rails의 도우미 메소드 재정의
나는이 같은 ApplicationHelper.rb 파일에 방법을 넣어 않는 시도하는 것 :
def search_page?
return false;
end
그리고 SearchHelper.rb에 나는이있다 :
def search_page?
return true;
end
이하지 않습니다 SearchHelper.rb의 search_page 함수가 어떤 컨트롤러가 뷰를 렌더링하고 있는지에 관계없이 사용되는 것이기 때문에 작동합니다. 나는 새로운 레이아웃을 정의하고 검색 상자를 렌더링하지 않겠다는 신호로 헤더 부분에 매개 변수를 추가 할 수 있지만 잔인한 것처럼 보입니다.