1

link_to メッセージがあります

<%= link_to "Messages (#{Messages.count})", messages_path %>

ただし、カウントが 0 の場合は (0) を削除したいと思います。

この「If 条件」を link_to 内に組み込むにはどうすればよいですか?

4

1 に答える 1

3

いくつかのオプションがありますが、この場合はこれでうまくいくはずです。

link_to "Messages #{Messages.count > 0 ? '(%d)' : ''}" % Messages.count, messages_path

これよりも高度なロジックの場合は、ヘルパーメソッドを作成する必要があります。

link_to label_with_optional_counter("Messages", Messages.count), messages_path

適切なヘルパーモジュールでそのメソッドを定義します。

def label_with_optional_counter(label, count)
  "%s #{count > 0 ? '(%d)' : ''}" % [ label, count ]
end
于 2012-11-30T07:07:14.310 に答える