Помогите применить два разных стиля в методе множественного числа Ruby on Rails - PullRequest
4 голосов
/ 21 марта 2011

Как применить два разных стиля к тексту "голосования" и к числу, полученному из этого кода RoR:

<%= pluralize video.vote_sum, 'Vote' %>

Ответы [ 4 ]

5 голосов
/ 21 марта 2011

Так как вы хотите стилизовать множественное слово, я бы просто предложил сделать следующее:

<%= video.vote_sum %>
<div class="style-word">
<% word = "Vote" %>
<% if video.vote_sum > 1 %>
  <%= word.pluralize %>
<% else %>
  <%= word %>
<% end %>
</div>

(Извините за все <%%>, я так привык к HAML сейчас, я не понимаюбольше не делаю эрб)

1 голос
/ 21 марта 2011

Попробуйте это:

<div class="<%= pluralize video.vote_sum, 'number' %>">
  <%= video.vote_sum %>
</div>
<div class="<%= pluralize video.vote_sum, 'vote' %>">
  <%= pluralize video.vote_sum, 'Vote' %>
</div>

И в вашем CSS:

.vote{# some style code here!}
.votes{# some style code here!}
.number{# some style code here!}
.numbers{# some style code here!}
0 голосов
/ 06 декабря 2012

Я просто столкнулся с этой точной ситуацией и решил расширить метод pluralize в application_helper.rb

def pluralize(count, singular, plural = nil)
  count, counted = super.split(' ', 2)
  [content_tag(:span, count, class: 'count'),content_tag(:span, counted, class: 'counted')].join(' ').html_safe
end

pluralize(2, "Thing") теперь будет выводить что-то вроде <span class="count">1</span> <span class="counted">Things</span>

0 голосов
/ 21 марта 2011
<%= pluralize video.vote_sum, '<span class="some_other_class">Vote</span>', '<span class="some_other_class">Votes</span>' %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...