我有个奇怪的错误
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 %>
我不知道问题在哪里。请帮帮我。谢谢!
最佳答案
什么地方?如果不是英语语言环境,试试。
听起来很像this bug,其中对number_to_human_size
的调用最终调用了BigDecimal.new(the_number.to_s).round(...).to_f
,而由于区域设置问题,round()
调用失败。生成的异常与错误完全匹配(“错误的参数类型nil(应为fixnum)”)。