สร้างวิธีการ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>
หวังว่าจะช่วยได้