haml pull-right 作为第二个 class 在后跟 if 时不起作用
haml pull-right as a second class not working when followed by an if
所以我有一段 .erb 代码要翻译成 .haml。 (有人说 haml 更快,我想我仍在学习曲线中挣扎;))
<div class="row">
<div class="col-md-12">
<ul class="list-inline pull-right">
<% if current_page?(webservices_path) %>
<li class="submenu_links_current">
<% else %>
<li class="submenu_links">
<% end %>
<%= link_to webservices_path do %>
<i class="fa fa-home" aria-hidden="true" style="color: white;"></i>
Webservices
<% end %>
</li>
</ul>
</div>
</div>
最近的 haml 翻译我有 atm :
.row
.col-md-12
%ul.list-inline.pull-right
- if current_page?(webservices_path)
%li.submenu_links_current
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
- else
%li.submenu_links
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
我现在有两个关于这个 haml 的问题。
.如果 ul 和 li 之间有 if 语句,则不向 ul 应用 pull-right。
我还发现以下更分解的代码不起作用,因为当前在 webservices_path 上时,link_to webservices_path 未显示。
.row
.col-md-12
%ul.list-inline.pull-right
- if current_page?(webservices_path)
%li.submenu_links_current
- else
%li.submenu_links
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
谢谢!
我想你想要这样的东西:
.row
.col-md-12
%ul.list-inline.pull-right
%li{:class => (current_page?(webservices_path) ? 'submenu_links_current' : 'submenu_links')}
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
请注意,两个 li
已合并为一个元素,使用散列的 class
元素而不是点语法设置 class。这删除了 link_to
的重复和。它还在 ul
下缩进(在您的代码中,if
语句处于同一级别,因此 li
不会是它的子项)。
所以我有一段 .erb 代码要翻译成 .haml。 (有人说 haml 更快,我想我仍在学习曲线中挣扎;))
<div class="row">
<div class="col-md-12">
<ul class="list-inline pull-right">
<% if current_page?(webservices_path) %>
<li class="submenu_links_current">
<% else %>
<li class="submenu_links">
<% end %>
<%= link_to webservices_path do %>
<i class="fa fa-home" aria-hidden="true" style="color: white;"></i>
Webservices
<% end %>
</li>
</ul>
</div>
</div>
最近的 haml 翻译我有 atm :
.row
.col-md-12
%ul.list-inline.pull-right
- if current_page?(webservices_path)
%li.submenu_links_current
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
- else
%li.submenu_links
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
我现在有两个关于这个 haml 的问题。
.如果 ul 和 li 之间有 if 语句,则不向 ul 应用 pull-right。
我还发现以下更分解的代码不起作用,因为当前在 webservices_path 上时,link_to webservices_path 未显示。
.row
.col-md-12
%ul.list-inline.pull-right
- if current_page?(webservices_path)
%li.submenu_links_current
- else
%li.submenu_links
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
谢谢!
我想你想要这样的东西:
.row
.col-md-12
%ul.list-inline.pull-right
%li{:class => (current_page?(webservices_path) ? 'submenu_links_current' : 'submenu_links')}
= link_to webservices_path do
%i.fa.fa-home{"aria-hidden" => "true", "style" => "color: white;"}
Webservices
请注意,两个 li
已合并为一个元素,使用散列的 class
元素而不是点语法设置 class。这删除了 link_to
的重复和。它还在 ul
下缩进(在您的代码中,if
语句处于同一级别,因此 li
不会是它的子项)。