ブログアプリを作成しています。複数の「投稿」が「公開」されている場合、Wordの「記事」を複数形にしたいです。
そのように:利用可能な記事または利用可能な記事
これは私が持っているものです。
Available <%= pluralize @posts.published, "Article" %>:
私はもう試した
Available <%= pluralize @posts.published.count, "Article" %>:
そしてそれは動作します...しかし、私は数字が欲しくありません。 Available 5 Articles ....を読むべきではありません。番号はありません。
私はこれに対する答えを自分で探していましたが、既存のものには満足していませんでした。ここに私が見つけた最もきれいな解決策があります:
Available <%= "Article".pluralize(@posts.published.count) %>:
ドキュメントは こちら です。関連ビット:
文字列内のWordの複数形を返します。
If the optional parameter count is specified, the singular form will be returned if count == 1. For any other value of count the plural will be returned. 'post'.pluralize # => "posts" 'Apple'.pluralize(1) # => "Apple" 'Apple'.pluralize(2) # => "apples"
Rails国際化(I18n) を使用してこれを達成できます。あなたのconfig/data/en.yml
翻訳は次のようになります。
en:
available_articles:
zero: Available Article
one: Available Article
other: Available Articles
そして、あなたの意見では、あなたはこのような翻訳を得ることができるはずです:
<%= t(:available_articles, count: @posts.published.count) %>
はい、私はとても好きでした:
- if @post.comments.persisted.any?
h4
= t(:available_comments, count: @post.comments.count)
= render @post.comments.persisted
- else
p
| There are no comments for this post.
en:
available_comments:
one: "%{count} Comment"
other: "%{count} Comments"
ありがとう、@ Jakob W!