ApplicationHelper
아래와 같이 메소드를 생성 합니다.
def active controllers, action_names = nil
class_name = controllers.split(",").any? { |c| controller.controller_name == c.strip } ? "active" : ""
if class_name.present? && action_names.present?
return action_names.split(",").any? { |an| controller.action_name == an.strip } ? "active" : ""
end
class_name
end
이제 아래 사용 사례와 같이보기에서 사용하십시오.
1. 특정 컨트롤러의 모든 작업
<li class="<%= active('controller_name')%>">
....
</li>
2. 많은 컨트롤러의 모든 동작 (쉼표로 구분)
<li class="<%= active('controller_name1,controller_name2')%>">
....
</li>
3. 특정 컨트롤러의 특정 동작
<li class="<%= active('controller_name', 'action_name')%>">
....
</li>
4. 많은 컨트롤러의 특정 동작 (쉼표로 구분)
<li class="<%= active('controller_name1,controller_name2', 'action_name')%>">
....
</li>
5. 특정 컨트롤러의 특정 동작
<li class="<%= active('controller_name', 'index, show')%>">
....
</li>
6. 여러 컨트롤러의 특정 작업 (쉼표로 구분)
<li class="<%= active('controller_name1,controller_name2', 'index, show')%>">
....
</li>
도움이되기를 바랍니다.