2012-01-10 8 views
1

私はレールに新しいですし、日報電子メールテンプレートを書いています。 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_sは、文字列にuniquediffをオンし、("+" if uniquediff>=0)ビットがゼロ以上である"+"uniquediff場合に評価それが負であれば、何もそう...とあなたはすでに"-"を持っていません。 HELPERに論理的なものを行うことをお勧めします(それはヘルパーが何をすべきかだ)

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

ヘルパーは、ビューのすべての種類のためのものです。 –

関連する問題