我正在构建一个博客应用程序。我希望能够多元化的单词“文章”,如果一个以上的“职位”是“发表”。
像这样:可用文章或可用文章
这就是我的....
Available <%= pluralize @posts.published, "Article" %>:
我试过了
Available <%= pluralize @posts.published.count, "Article" %>:
这是可行的…但我不想要这个数字。它不应该读可用的5篇文章…它应该没有数字。
我正在构建一个博客应用程序。我希望能够多元化的单词“文章”,如果一个以上的“职位”是“发表”。
像这样:可用文章或可用文章
这就是我的....
Available <%= pluralize @posts.published, "Article" %>:
我试过了
Available <%= pluralize @posts.published.count, "Article" %>:
这是可行的…但我不想要这个数字。它不应该读可用的5篇文章…它应该没有数字。
6条答案
按热度按时间e4yzc0pl1#
我发现这个复数形式有一个bug“user”.pluralize(1)=〉“user”“user”.pluralize(2)=〉“users”but“user”.pluralize(0)=〉“users”
a2mppw5e2#
这个简单的逻辑怎么样?我猜你想显示文章的数量,如果没有,那么简单地删除
<%= @posts.published.count %>
或
可以使用ternary operator,
输出:
nr9pn0ug3#
我自己也一直在寻找这个问题的答案,但对现有的任何一个都不满意。下面是我找到的最整洁的解决方案:
文档在这里。相关位:
返回字符串中单词的复数形式。
axr492tv4#
你可以使用Rails Internationalization (I18n)来完成这个任务。在你的
config/data/en.yml
中,你的翻译应该是这样的:在你看来,你应该能够得到这样的翻译:
pxiryf3j5#
是的,我就是这么做的我很喜欢:
感谢@Jakob W!
m2xkgtsf6#
您可以使用
<%= @posts.published.count > 0 ? "Available Article".pluralize(@posts.published.count) : nil %>: