Я знаю, рубин/рельсы все о конвенции, так что я думал, что я спросить, что соответствующий способ сделать что-то вроде этого:Каждый сделать согласно конвенции
<% @event.prices.each do |price| %>
<% price_value = price.price > 0 ? "FREE" : price.price %> <!-- ** this line ** -->
<% if price.name.length > 0 %>
<div>$<%= price_value %> - <%= price.name %></div>
<% else %>
<div>$<%= price_value %> - Ticket Type <%= price.id + 1 %></div>
<% end %>
<% end %>
Как вы можете видеть, я установив price_value, чтобы избежать огромного набора операторов if, но моя внутренность говорит мне, что есть более подходящий способ сделать это в рубине. Какие-либо предложения?
Это жизнеспособное, но как «значение» чисто презентационное, он также имеет смысл для этого, чтобы быть в помощнике, о Еще лучше, модель/декоратор (например, [draper] (https://github.com/drapergem/draper)). – numbers1311407
Полностью ... Итак, почему мои пальцы, наполненные кофеином, просто добавили вспомогательную логику. :) – CDub
Ха-ха, это очень основательно. Спасибо! Кроме того, @ numbers1311407 +1 для справки по драпировщику – Rob