如何在 HAML 中的 link_to 中将动态添加到静态 类?
How to add dynamic to static classes in a link_to in HAML?
假设我有一些 HAML,我想要一个 link_to
和一个解析为
的 bootstrap btn
class
class: `btn btn-grouped btn-close`
但我还想添加一个条件来添加 class hidden
如果某些状态为真?
所以 class 可能是这样的:
btn btn-grouped btn-close disabled
但他们也可能是这样的:
btn btn-grouped btn-close
我尝试做两个 class:
声明。这似乎对我不起作用。
我的目标是在不在 class 列表末尾添加额外的 space 的情况下执行此操作。
如果我没理解错的话,下一段可能对你有帮助::
%div{:class => "num_seat passenger_seat #{'hidden' if !f.object.available_for_seat?}" }
你可以这样做:
class: "btn btn-grouped btn-close #{button_visibility}"
然后将 button_visibility
添加到您的助手。
def button_visibility
if some_status == true
"hidden"
else
"disabled"
end
end
我认为没有理由关心 HTML 类名中的额外 space。如果它烦人,你可以定义一个助手:
def hidden_classname(status)
return 'hidden' if status
end
然后在视图中调用传递所需status
参数的方法:
%div{ class: "#{['btn', 'btn-grouped', 'btn-close', hidden_classname(status)].compact.join(' ')}" }
假设我有一些 HAML,我想要一个 link_to
和一个解析为
btn
class
class: `btn btn-grouped btn-close`
但我还想添加一个条件来添加 class hidden
如果某些状态为真?
所以 class 可能是这样的:
btn btn-grouped btn-close disabled
但他们也可能是这样的:
btn btn-grouped btn-close
我尝试做两个 class:
声明。这似乎对我不起作用。
我的目标是在不在 class 列表末尾添加额外的 space 的情况下执行此操作。
如果我没理解错的话,下一段可能对你有帮助::
%div{:class => "num_seat passenger_seat #{'hidden' if !f.object.available_for_seat?}" }
你可以这样做:
class: "btn btn-grouped btn-close #{button_visibility}"
然后将 button_visibility
添加到您的助手。
def button_visibility
if some_status == true
"hidden"
else
"disabled"
end
end
我认为没有理由关心 HTML 类名中的额外 space。如果它烦人,你可以定义一个助手:
def hidden_classname(status)
return 'hidden' if status
end
然后在视图中调用传递所需status
参数的方法:
%div{ class: "#{['btn', 'btn-grouped', 'btn-close', hidden_classname(status)].compact.join(' ')}" }