2012-01-10 4 views
1

저는 레일을 처음 사용하고 있으며 일일 리포트 이메일 템플릿을 작성하고 있습니다. 레일 메일러 템플릿 계산

나는 고유 방문자 수를 출력과 2 사이의 차이를 계산하고 + 또는 그뿐만 아니라 표시하고 - 기호는 경우에 따라 그 양 또는 음.

더 좋은 방법이 있나요? 나는 그 시야에서 수학을하지 않아야합니까?

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

답변

1

시도 :

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

.to_s 문자열로 uniquediff을 전환하고, ("+" if uniquediff>=0) 비트가 0보다 크거나 같은 "+"uniquediff 경우로 평가 , 그리고 다른 점은 없습니다. 음수이면 이미 "-"이됩니다. 도우미 논리 물건을 할 것을 추천 (그리고 도우미가해야 할 일이다)

1

이 방법에 대해 :

<% unique_diff = @stats['unique_visitors'] - @stats['unique_visitors_yesterday'] %> 
<%= "Unique Visitors: #{number_with_delimiter(@stats['unique_visitors'])} #{'+' if unique_diff > 0}#{unique_diff}" %><br/> 
1

=]. 헬퍼을

# 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 %> 
+0

덕분에 우편물 갈? – pablo

+0

헬퍼는 모든 종류의 뷰를위한 것이므로 메일러 뷰는 일반 도우미에서 메소드를 호출 할 수 있습니다. –