ナビゲーション メニューにいくつかの静的ページがあります。現在表示されているアイテムにさらに要素を追加したい。
ビュー上のナビゲーション layout/adminzor.html.erb
<ul class='main-nav'>
<%= nav_link 'Dashboard', adminzor_path %>
</ul>
application_helper.rb で
def nav_link(link_text, link_path)
class_name = current_page?(link_path) ? 'active' : ''
content_tag(:li, :class => class_name) do
link_to link_text, link_path
end
end
と出力
<ul class='main-nav'>
<li class="active">
<a href="/adminzor">Dashboard</a>
</li>
</ul>
リンクをliタグ内にラップし、外側のliに「アクティブ」クラスを適用することを好むTwitter Bootstrapのnavコンポーネントでnav_linkヘルパーを使用しているためです。そして、次のようなビューにいくつかの要素を追加します
<%= nav_link adminzor_path, :class => "light" do %>
<div class="ico"><i class="icon-home icon-white"></i></div>
Dashboard
<% end %>
とヘルパー
def nav_link(link_text, link_path)
class_name = current_page?(link_path) ? 'active' : ''
content_tag(:li, :class => class_name) do
link_to link_path do
link_text
end
end
end
しかし、エラー
ArgumentError in Adminzor/dashboards#index
Showing c:/Sites/zionrails/app/views/layouts/adminzor.html.erb where line #44 raised:
wrong number of arguments (3 for 2)
のように出力したい
<ul class='main-nav'>
<li class="active">
<a href="/adminzor" class="light">
<div class="ico">
<i class="icon-home icon-white"></i>
</div>Dashboard
</a>
</li>
</ul>
他の解決策はありますか?ありがとう