4

У меня есть вопрос о функции pluralize. На мой взгляд, у меня есть следующая строка кода. Он передает элемент с определенным количеством голосов, чтобы определить, должно ли оно слово «Голосование» быть плюрализованным.Pluralize in Rails View Issues

<%= pluralize(item.votes, 'Vote') %> 

Моя проблема заключается в том, что мое мнение передает слово «Голоса», за которым следует определенное количество голосов (item.votes). Я только хочу, чтобы он передал слово «Голоса». Идеи очень ценятся.

ответ

3

Вы можете сделать:

pluralize(items.votes, 'Vote').split(" ", 2)[1] 

Надежда, что помогает!

2

Вы можете создать свой собственный метод в помощнике

def pluralize_without_count(string, count) 
    count == 1 ? string : string.pluralize 
end 

и использовать его на ваш взгляд:

<%= pluralize_without_count('Vote', item.votes) %> 
+2

, если вы хотите, чтобы рассмотреть случай наличия голосов * 0 *, вы можете слегка изменить этот помощник на: 'count == 1? string: string.pluralize' – pruett

+1

Да, это должно быть изменено так: count == 1? string: string.pluralize –

8

Вы можете сделать проще:

"Vote".pluralize(item.votes)