我有这个HAML代码添加了一个基于if语句的“活动”类。
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: ("active" if params[:section] == 'contact_information')
我还希望在if语句之外永久添加一串类。
像
这样的东西= link_to 'Contact Information',
edit_account_path(:contact_information),
class: "Tab large", ("active" if params[:section] == 'contact_information')
我需要在不创建辅助方法的情况下执行此操作,因为我不允许编辑太多代码。
答案 0 :(得分:2)
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: "Tab large #{params[:section] == 'contact_information' ? 'active' : ''}"
第二个例子:
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: current_page?(edit_user_registration_path) ? 'active' : ''
答案 1 :(得分:0)
创建一个帮助方法,比如find_classes,
def find_classes(section)
default_class = ['Tab Large']
if section == 'contact_information'
default_class << 'active'
end
default_class.join(' ')
end
并且从您的角度来看,
class: find_classes(params[:section])
优势:
你可以有多个if
,并且可以附加各种类。