Rails: Ожидаемый помощник для определения ошибки помощника? - PullRequest
2 голосов
/ 07 июля 2010

При локальном доступе к моему приложению Rails при загрузке любой страницы появляется следующая ошибка:

/!\ FAILSAFE /!\  Tue Jul 06 15:08:17 -0500 2010
Status: 500 Internal Server Error
Expected /my_rails_app/app/helpers/admin/article_categories_helper.rb to define Admin::ArticleCategoriesHelper

Если я следую за полной трассировкой , я попаду на эту строку в моем контроллере приложений:

helper :all

Если я закомментирую эту строку, все будет нормально загружаться.

Кроме того, вот содержимое моего /admin/article_categories_helper.rb файла:

module Admin::ArticleCategoriesHelper
end

Итак, есть идеи, что может быть причиной и как это исправить?

Ответы [ 4 ]

1 голос
/ 26 марта 2013

Если вы попробуете ответить серьезным и получите «xxxx не является модулем», измените его на класс. Следующее сработало для меня.

У меня есть: /helpers/member/finance/bank_batches_helper.rb

В пределах этого у меня есть:

module Member::Finance::BankBatchesHelper

  def some_method
    # ...
  end
end

Просто добавьте вышеприведенный родительский класс (ы), как показано ниже:

class Member
  class Finance
  end
end

module Member::Finance::BankBatchesHelper

  def some_method
    # ...
  end
end

Надеюсь, это поможет.

1 голос
/ 07 июля 2010

Ваш файл должен называться

/admin/article_categories_helper.rb

вместо

/admin/articles_categories_helper.rb
0 голосов
/ 03 мая 2011

У меня была такая же проблема, но у меня она возникла при обновлении проекта Rails с Ruby 1.8.7 до 1.9.2.В 1.9.2 изменился синтаксис для операторов case.Сокращение: (двоеточие) больше не используется.Вместо этого вы должны использовать ключевое слово then.

# works in 1.8.x
case numtype
  when 'smallint' : 4

Приведенный выше код пришлось изменить на

# works in 1.9.2
case numtype
  when 'smallint' then 4

Когда я исправил все операторы case в моих помощниках, я не сталбольше получил эту ошибку.

0 голосов
/ 07 июля 2010

Эта ошибка часто означает, что при загрузке файла возникли проблемы.Определен ли модуль администратора на этом этапе?Вместо этого вы можете попробовать:

module Admin
  module ArticleCategoriesHelper
  end
end

.Это будет работать независимо от того, существует Администратор или нет.

Самое простое решение - просто удалить файл целиком, поскольку вы, похоже, не используете его ни для чего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...