長年のリスナー、初めての発信者。私はここシカゴにあるCodeAcademyの生後6か月の開発者であり、この問題に数時間悩まされています。何卒よろしくお願い申し上げます。
ERBテンプレートをHAMLに変換しています。ERBは次のとおりです。
<ul class="nav nav-list">
<li class="nav-header">
<%= navigation_header %>
</li>
<% @navigation_links.each do |link| %>
<% if link[:name].present? %>
<li <%= link[:name] == @topic ? "class='active'" : "" %>>
<%= link_to link[:name], link[:url] %>
</li>
<% else %>
<hr />
<% end %>
<% end %>
</ul>
私が問題を抱えているERBラインは次のとおりです。
<li <%= link[:name] == @topic ? "class='active'" : "" %>>
私は多くのバリエーションをテストし、HAMLリファレンスをできるだけ多く読んで、このセクションに集中しました。
#{}補間を使用して、HTMLスタイルの属性に複雑な式を挿入することもできます。
%span(class="widget_#{@widget.number}")
...そしてGoogleとStackOverflowを検索しましたが、正しく出力を取得できません。HAMLはインラインCSSを無視し続けます。結局のところ、私はこのバージョンにとても自信を持っていましたが、うまくいきませんでした:
- @navigation_links.each do |link|
- if link[:name].present?
%li{ :class => "#{ link[:name] == @topic ? "active" : ""}" }
= link_to link[:name], link[:url]
- else
%hr
私も:erbフィルターを試しましたが、役に立ちませんでした:
%ul.nav.nav-list
%li.nav-header
= navigation_header
- @navigation_links.each do |link|
- if link[:name].present?
:erb
<li <%= link[:name] == @topic ? "class='active'" : "" %>>
= link_to link[:name], link[:url]
- else
%hr
また、:cssフィルターも試しましたが、失敗しました。
何が間違っている可能性があるのか?これはStackOverflowに関する私の最初の質問です。そのため、役立つ情報を省略したり、ルールに違反したりした場合は、お知らせください。