3

奇妙なエラーが発生します

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 %>

問題がどこにあるのかわかりません。お願い助けて。ありがとう!

4

1 に答える 1

2

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

このバグによく似ています。このバグでは、への呼び出しがnumber_to_human_size最終的に呼び出されBigDecimal.new(the_number.to_s).round(...).to_fround()ロケールの問題が原因でingが失敗しました。生成された例外は、エラーと完全に一致します(「間違った引数タイプnil(予期されるFixnum)」)。

于 2012-04-19T18:41:55.430 に答える