#html #ruby-on-rails
#HTML #ruby-on-rails
Вопрос:
У меня простой вопрос, надеюсь, кто-нибудь сможет направить меня правильным путем.
Я просто хочу знать, как удалить последний разделитель после тайваньского.
Вот мой html-код ruby.
<div class="well">
<h4>Tags</h4>
<% @food.categories.each do |category| %>
<%= category.name %>
<% if @food.categories.count > 1 %>
|
<% end %>
<% end %>
</div>
Пожалуйста, и спасибо вам!
Ответ №1:
В качестве альтернативы вы можете использовать разделители перед категорией, кроме первого.
<% @food.categories.each_with_index do |category, idx| %>
<% if idx > 0 %>
|
<% end %>
<%= category.name %>
<% end %>
Или еще проще
<%= @food.categories.map(amp;:name).join(' | ') %>
Комментарии:
1. Можете ли вы объяснить еще более простой метод? Я не могу заставить его работать. Это входит в цикл? Большое спасибо.
2. @BrianLau: нет, это идет вместо цикла. Попробуйте это, например, в консоли. Вы увидите, что это делает.
3. @BrianLau: ах, заметил небольшую ошибку. Теперь должно сработать
Ответ №2:
Вы можете попробовать что-то вроде
<% if @food.categories.count > 1 amp;amp; @food.categories.last != category %>
|
<% end %>
Ответ №3:
<% @food.categories.each_with_index do |category, index| %>
<% unless index.zero? %>
|
<% end %>
<%= category.name %>
<% end %>