2012-01-10 50 views
1

我是Rails新手,正在撰寫日常報告電子郵件模板。Rails郵件模板計算

我是輸出唯一訪客,並計算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_suniquediff一個字符串,("+" if uniquediff>=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

建議在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 %> 
+0

謝謝幫助者去哪裏發郵件? – pablo 2012-01-10 16:53:34

+0

幫助程序適用於各種視圖,因此郵件程序視圖也可以在普通幫助程序中調用方法。 – 2012-01-11 07:21:50