Расчет шаблона Rails Mailer - PullRequest
       0

Расчет шаблона Rails Mailer

2 голосов
/ 10 января 2012

Я новичок в рельсах и пишу шаблон ежедневного отчета по электронной почте.

Я вывожу уникальных посетителей, вычисляю разницу между двумя и показываю их также со знаком + или - в зависимости от того,положительный или отрицательный.

Есть ли лучший способ сделать это?Разве я не должен заниматься математикой в ​​представлении?

Unique Visitors: <%= number_with_delimiter(@stats["unique_visitors"]) %>
<% uniquediff = @stats["unique_visitors"] - @stats["unique_visitors_yesterday"] %> 
(<% if uniquediff > 0 then %> + <% else %> - <% end %> <%= uniquediff %>)<br />

Ответы [ 3 ]

1 голос
/ 10 января 2012

Попробуйте:

("+" if uniquediff>=0)+uniquediff.to_s

.to_s превращает uniquediff в строку, а бит ("+" if uniquediff>=0) принимает значение "+", если uniquediff больше или равно нулю, и ничегоиначе .. и у вас уже будет "-", если оно отрицательное.=]

1 голос
/ 10 января 2012

Рекомендуется делать логические вещи в HELPER (и это то, что должен делать помощник).

# In helper, eg. application_helper.rb
def unique_diff(stats)
  unique_diff = stats['unique_visitors'] - stats['unique_visitors_yesterday']
  (unique_diff > 0) ? "+#{unique_diff}" : "#{unique_diff}"
end

# In view
Unique Visitors Diff: <%= unique_diff @stat %>
1 голос
/ 10 января 2012

Как насчет этого:

<% unique_diff = @stats['unique_visitors'] - @stats['unique_visitors_yesterday'] %>
<%= "Unique Visitors: #{number_with_delimiter(@stats['unique_visitors'])} #{'+' if unique_diff > 0}#{unique_diff}" %><br/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...