【问题标题】:with_index in ruby 1.9.2ruby 1.9.2 中的 with_index
【发布时间】:2011-09-18 12:57:23
【问题描述】:

我升级到

ruby 1.9.2p290 (2011-07-09 revision 32553)

知道为什么我会得到

ArgumentError in Territories#show

Showing /home/Thomas/territory_management/app/views/territories/show.html.erb where line #24 raised:

wrong number of arguments (1 for 0)

Extracted source (around line #24):

24:     <% @addresses.to_enum.with_index(1).each do |address, index| %>

根据文档:http://apidock.com/ruby/Enumerator/with_index 如果应该可以正常工作。我错过了什么?

谢谢 托马斯

【问题讨论】:

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


    【解决方案1】:

    您确定您使用的是您认为的 Ruby 版本吗?您正在执行此操作的目录中可能有.rvmrc 吗?它对我来说很好用:

    $ ruby --version
    ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
    $ rails c
    Loading development environment (Rails 3.0.9)
    pry(main)> users = User.limit(5)
    pry(main)> users.to_enum.with_index(5).each { |ex, i| puts "#{i}: #{ex.name}" }
    5: Dave
    6: Nick
    7: Keenan
    8: Hater
    9: Greg
    

    【讨论】:

    • 它说我是,但它表现得好像我不是... $ ruby​​ --version ruby​​ 1.9.2p290 (2011-07-09 修订版 32553) [i386-cygwin] $ rails c Loading开发环境 (Rails 3.0.9) irb(main):001:0> users = User.limit(5) NameError: uninitialized constant User from (irb):1 irb(main):004:0> users.to_enum.with_index (5).each { |ex, i| puts "#{i}: #{ex.name}" } ArgumentError: (irb):4:in `with_index' from (irb):4 的参数数量错误(1 代表 0)
    • 嗯。我不明白这怎么可能。不幸的是,我的怀疑对你没有帮助;)
    • 我的安装似乎有问题。它现在正在工作。谢谢。
    • whew 否则会很奇怪 ;) 很高兴你解决了。
    • 我这里还有一个问题。为什么这件事离我们很远?当我做 我在哈希中有 9 个地址,我得到 10 行...
    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多