2015-01-13 3 views
0

У меня возникают проблемы с консолью рельсов в терминале. Я запускаю Ubuntu 14.04, rails 4.2 и ruby ​​2.0.0.Команды консоли Rails не будут работать. Терминал также действует вверх

В любом случае, когда я запускаю консоль рельсов, он загружает среду разработки. Тогда я пытаюсь создать новый объект с things = article.new и я получаю сообщение об ошибке:

NameError: undefined local variable or method 'article' for main:Object 
from /home/roonie/.rvm/gems/ruby-2.0.0-p598/gems/railties-  
4.2.0/lib/rails/commands/console.rb:110:in `start' 
from /home/roonie/.rvm/gems/ruby-2.0.0-p598/gems/railties- 
4.2.0/lib/rails/commands/console.rb:9:in `start' 
from /home/roonie/.rvm/gems/ruby-2.0.0-p598/gems/railties- 
4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console' 
from /home/roonie/.rvm/gems/ruby-2.0.0-p598/gems/railties- 
4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 

Это держит на протяжении как более 40 строк.

Article класс существует btw в моем ArticlesController.rb файле. Кроме того, я работаю в каталоге моего проекта, когда я запускаю консоль rails, так что это не проблема. Я новичок в рубинах и рельсах, поэтому просто не знаю, как это исправить.

Мой терминал также срабатывает после того, как я выхожу из консоли рельсов, следуя этой ошибке. Я наберу простую команду -ls, и она даст мне те же ошибки, которые я только что получил. Я этого не понимаю: -ls даже не рубиновая команда! И тогда я получу еще более странные ошибки с моего терминала. Например, я просто введите rails --version и это даст мне это:

The program 'al' is currently not installed. You can install it by typing: sudo apt-get install mono-devel

+0

Попробуйте 'thing = Article.new' –

ответ

0

Классы в Ruby, имеют прописную первую букву по соглашению, так, чтобы создать новый экземпляр класса вы должны использовать:

instance = Class.new 

НЕ: instance = class.new

В вашем случае:

things = Article.new 
+0

Спасибо, я понял, что это была ошибка. Любая идея, почему терминал полностью исчезает, как только я делаю эту ошибку? Как почему эта ошибка заставит терминал думать, что когда я набираю «-l», я набрал «hn» или какую-то бессмысленную вещь. Или почему я получаю сообщение об ошибке в нижней части сообщения? – roonie

+0

Вы уверены, что находитесь в нормальном терминале ('bash'), когда вы вводите это? – javanut13

+0

Хмм, что еще я могу? Есть ли команда, которую я могу ввести, чтобы проверить, что я использую оболочку bash. – roonie

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