Неопределенный метод '+' ошибка Rails, Net / http - PullRequest
2 голосов
/ 08 февраля 2012

На самом деле проблема была не со знаком «+».Но я усомнился в этом, потому что это был единственный знак «+» на этой странице.

Строка, которая вызывает ошибку: «- 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 ]

4 голосов
/ 08 февраля 2012

Вы можете использовать стандартные методы ruby, чтобы добиться того, что вы хотите более элегантным способом, например:

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

Если вам нужно li после каждого 25-го продукта, вы можете использовать each_slice:

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

Хотя это не ответ на ваш вопрос (другие ответы должны работать для вас), но этот подход является более грубым.

1 голос
/ 08 февраля 2012

Похоже, что метод to_i для объекта с именем scount возвращает ноль.Следующим шагом для меня кажется исследование того, что может означать класс scount.

Обновление с некоторым кодом после комментариев ниже;

- scount = 1
- products.shuffle.each do |product|
  - if scount == 25                              
    %li.product                  
      .image{:style => "width:180px;"}
  - scount += 1
0 голосов
/ 08 февраля 2012

ниже должно работать -

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