未定义的方法'+'错误Rails,Net / http

时间:2012-02-08 07:01:11

标签: ruby-on-rails ruby haml

实际上问题不在于'+'符号。但我怀疑它,因为它是该页面中唯一的“+”符号。

导致错误的行是“ - res = req.request_head(imageurl.path)” 我的代码:

- req = Net::HTTP.new(imageurl.host, imageurl.port)
- res = req.request_head(imageurl.path)

抛出错误“ActionView :: Template :: Error(未定义的方法`+'代表nil:NilClass):” 问题是什么?

非常感谢所有帮助&很抱歉造成了不便。

但问题仍然没有解决。

3 个答案:

答案 0 :(得分:4)

您可以使用标准的ruby方法以更优雅的方式实现您想要的效果,例如:

- products.shuffle.each_with_index do |product, i|
  - if i == 24                              
    %li.product                  
      .image{:style => "width:180px;"}

如果您在每25个产品之后需要li,则可以使用each_slice

- products.shuffle.each_slice(25) do |items|
  %li.product                  
    .image{:style => "width:180px;"}

虽然这不是你问题的答案(其他答案应该适合你),但这种方法更为重要。

答案 1 :(得分:1)

似乎名为to_i的对象上的方法scount返回nil。调查scount类可能对我来说似乎是下一步。

在下面的评论之后用一些代码更新;

- scount = 1
- products.shuffle.each do |product|
  - if scount == 25                              
    %li.product                  
      .image{:style => "width:180px;"}
  - scount += 1

答案 2 :(得分:0)

下面应该有效 -

- products.shuffle.each do |product|
  scount = defined?(scount) ? scount.to_i : 0
  scount += 1
  - if scount == 25                              
   %li.product                  
    .image{:style => "width:180px;"}