【发布时间】:2015-02-19 16:56:03
【问题描述】:
尝试从 4.1.8 升级到 Rails 4.2,但我收到此行的“参数数量错误(0..1 为 2)”:
<%= will_paginate(@search) %>
在 Rails 4.1.8 中完美运行。 @search 是一个自定义对象,它定义了 will_paginate 需要的方法(total_pages 等)。
will_paginate 的方法签名是:
def will_paginate(collection = nil, options = {}) #:nodoc:
并且我验证了正在调用正确的方法:
<%= self.method(:will_paginate).source_location %>
哪个输出:
[“/Users/home/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/will_paginate-3.0.7/lib/will_paginate/view_helpers/action_view.rb”, 26]
有点难过,很惊讶没有其他人遇到过这个问题。
【问题讨论】:
-
您是否 100% 确定错误 wrong number of arguments (2 for 0..1) 指的是该方法调用?它表明您提供了 2 个参数
-
是的,这是在 Rails 错误页面上以红色突出显示的行,具有正确的行号,当我仅删除该行时页面加载正常。
-
@search.class返回什么? -
@MohammadAbuShady 返回 SearchResults 这是一个自定义类
标签: ruby-on-rails will-paginate ruby-on-rails-4.2