HAML class string with class 基于 if 语句
HAML class string with class based on if statement
我有这个 HAML 代码添加一个 "active" class 基于 if 语句。
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: ("active" if params[:section] == 'contact_information')
我还想在 if 语句之外永久添加一串 classes。
类似
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: "Tab large", ("active" if params[:section] == 'contact_information')
我需要在不创建辅助方法的情况下执行此操作,因为不允许我过多地编辑代码。
= 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' : ''
创建辅助方法说 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
,也可以附加各种 类。
我有这个 HAML 代码添加一个 "active" class 基于 if 语句。
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: ("active" if params[:section] == 'contact_information')
我还想在 if 语句之外永久添加一串 classes。
类似
= link_to 'Contact Information',
edit_account_path(:contact_information),
class: "Tab large", ("active" if params[:section] == 'contact_information')
我需要在不创建辅助方法的情况下执行此操作,因为不允许我过多地编辑代码。
= 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' : ''
创建辅助方法说 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
,也可以附加各种 类。