【问题标题】:how iterate over fixnum [closed]如何迭代fixnum [关闭]
【发布时间】:2012-03-15 12:21:15
【问题描述】:

所以,问题是:由于fixnum不是字符串,我如何在节目中显示caipirinhas的数量?

如果您迭代显示此错误:

private method `caipirinha' called for 0:Fixnum

新的饮料视图

<%= d.label :caipiriha %><%= d.number_field :caipirinha %>

显示饮料视图

<% current_user.bar.caipirinha.times  do |s|  %>
    <%= s.caipirinha %>
<% end %>

【问题讨论】:

  • 请更新您的问题标题以反映实际问题...
  • Soo,真正的问题是什么?正在发生什么,您预计会发生什么?
  • 安德鲁,问题是:我只是在寻找我放在 db 上的凯匹林哈斯的数量。

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1


【解决方案1】:

这个怎么样:

<% current_user.bar.caipirinha.to_i.times  do |s|  %>
  <%= s.caipirinha %>
<% end %>

您可以使用to_i 方法将caipirinha 转换为整数,然后对其调用times

【讨论】:

  • 感谢 Alex 的帮助,但我认为这不是转换问题,只是为了显示数字。
【解决方案2】:

这个怎么样?

<%=h s.caipirinha %>

----------------- 已编辑 -----------------------------

那么这个怎么样?

<% current_user.bar.each  do |s|  %>
  <%= s.caipirinha %>
<% end %>

【讨论】:

  • 显示此错误:私有方法 `caipirinha' 调用 2:Fixnum
  • 3.times {|s|放 s; s.foo } 这将导致同样的错误。问题出在你的方法“bar.caipirinha”上,它返回一个数字。
【解决方案3】:

你不想吗:

<%= current_user.bar.caipirinha %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2013-03-03
    • 2016-06-04
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    相关资源
    最近更新 更多