2012-04-19 27 views
3

私は奇妙なエラーにこの行でルビー:間違った引数の型はnil(Fixnumかを予想)

ActionView::Template::Error (wrong argument type nil (expected Fixnum)): 

を取得しています:

<%= (!attach.file_size.nil?) ? "(#{number_to_human_size(attach.file_size.to_i).to_s})": "" %> 

は、ここに私のコードです:

<% if !pr.attachments.empty? %> 
<ul class="attached_files"> 
    <% pr.attachments.each do |attach| %> 
    <li><a href="<%= attach.path_url%> " target="_blank"><%= attach.path_identifier%></a> 
    <%= (!attach.file_size.nil?) ? "(#{number_to_human_size(attach.file_size.to_i).to_s})": "" %> 
    </li> 
    <%end%> 
</ul> 
<% end %> 

私はどこに問題があるのか​​分からない。お願い助けて。ありがとう!

+0

完全なスタックトレースを確認できますか? – pilcrow

答えて

1

どのようなロケールですか?英語のロケールでない場合は、試してみてください。

number_to_human_sizeへの呼び出しは、最終的にBigDecimal.new(the_number.to_s).round(...).to_fと呼ばれるthis bugのような多くのことを、サウンド、およびround() ingがあるため、ロケールの問題のために失敗しました。生成された例外は、エラー("間違った引数の種類nil(予想されるFixnum)")と正確に一致します。

+0

英語のロケールとconfig.i18n.fallbacksをtrueに設定しているので、トランジションの不具合があってはなりません – AlphaB

+0

@AlphaB、完全なスタックトレースを確認できますか? – pilcrow

+0

あなたは正しいです。それは欠けている翻訳(バックエンド部分はRuロケールを使用しています)の問題でしたので、翻訳が欠けていて、問題がなくなってしまいました。どうもありがとう ! – AlphaB

関連する問題