pluralize without count number in rails 4
I have been looking for the answer to this myself and wasn't satisfied with any of the existing ones. Here's the tidiest solution I found:
Available <%= "Article".pluralize(@posts.published.count) %>:
Documentation is here. Relevant bits:
Returns the plural form of the word in the string.
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"
You could use Rails Internationalization (I18n) to accomplish this. In your config/data/en.yml
your translations would be something like this:
en: available_articles: zero: Available Article one: Available Article other: Available Articles
And in your view you should be able to get the translation like this:
<%= t(:available_articles, count: @posts.published.count) %>
Yes, I did that way I liked so much:
- 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"
Thank's @Jakob W!