2013-09-27 2 views
1

Я получаю сообщение об ошибке uninitialized constant SessionsController Я искал и могу найти объяснения этой ошибки в отношении NameError Кто-нибудь знает, что означает ошибка?Что означает неинициализированная константа?

+3

Это означает, что именно он говорит, что переменная с этим именем неинициализирована. Это означает, что он является константой, потому что он капитализирован. –

+0

Можете ли вы немного разобраться? SessionController должен быть капитализирован. – Arel

+0

Справа. Но это еще не определено. Это стандартное сообщение об ошибке для любой попытки получить доступ к заглавной переменной, которая не определена. –

ответ

2

Это один из двух «подвидов» Name Error занимающихся неинициализированными переменные. Язык «неинициализированной константы» объясняется тем, что SessionsController капитализирован. Оба типа показаны ниже:

new-host-3:bot palfvin$ irb 
2.0.0p247 :001 > foobar 
NameError: undefined local variable or method `foobar' for main:Object 
    from (irb):1 
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `<main>' 
2.0.0p247 :002 > Foobar 
NameError: uninitialized constant Foobar 
    from (irb):2 
    from /Users/palfvin/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `<main>' 
2.0.0p247 :003 > 
2

Это означает, что вы пытаетесь использовать класс или модуль, который еще не определен. Наверное, потому что ты забыл их требовать.

Убедитесь, что этот класс SessionsController указан в вашем sessions_controller.rb.

Подробнее: http://ruby.about.com/od/faqs/qt/Nameerror-Uninitialized-Constant-Object-Something.htm

Смежные вопросы