<li>
アクティブなクラスを含むにラップされたリンクを生成するヘルパーが必要です。
サポート ブロックがなければ、これは簡単です。
def nav_item(*args, &block)
url = args[1]
clazz = 'active' if current_page?(url)
content_tag(:li, :class => clazz) do
link_to(*args)
end
end
しかしlink_to
、ヘルパーがコンテンツを定義するためのブロックをサポートするようにしたいのです。link_to を使用すると、次のことができます。
では、ヘルパーで同じことをサポートするにはどうすればよいでしょうか?
私がする必要があるのは、ブロックを に渡すことだけですlink_to
。私の現在の試み
def nav_item(*args, &block)
url = if block_given?
args.first
else
args[1]
end
clazz = 'active' if current_page?(url)
content_tag(:li, :class => clazz) do
if block_given?
# What goes here?
else
link_to(*args)
end
end
end