2014-12-11 3 views
0

Я работаю над проектом, где я унаследовал какой-то старый код из старой версии Rails (1 или 2, я думаю). Поправив его, я попытался запустить его, но у меня проблемы с одним из моих контроллеров. В частности, строка заявляет, что current_user не может быть найден. После некоторого рытья я вижу, что def current_user висит в моем файле application.rb. Почему приложение не загружает этот метод?application.rb определенные методы не найдены?

Я не понимаю, как приложение.rb должно работать?

(если это имеет значение, этот метод кажется, защищен, но я не знаю, как это помешало бы приложение видеть это определение.)

+1

Трудно сказать, не имея больше контекста. Вы, вероятно, не определяете метод в классе, который, по вашему мнению, вы или используете где-то неожиданным. Также ApplicationController использовался специально для приложения.rb (вместо application_controller.rb) - не уверен, когда он прекратил загрузку прежнего –

+0

Спасибо Фридриху - ваш ответ очень обходящим образом привел к ответу. Вы правы, есть, по-видимому, два файла application.rb. На самом деле я являюсь третьей группой, наследующей этот код. Первый был благочестивым и сумел написать все. Второй попытался обновить приложение для новых версий Rails и провалился неудачно. Они не заметили, что существует два разных файла application.rb и им удалось ПЕРЕКЛЮЧИТЬ файлы между приложением/контроллерами и папками конфигурации. У меня нет слов ... Я чувствую себя так же глупо, что не понимал, что это происходит. –

+0

О, и, как счастливый конец, я переключил файлы и правильно переименовал application.rb в папку контроллера на application_controller.rb. Сейчас все работает ... до сих пор. –

ответ

0

Смотрите комментарии к первоначальному вопросу.

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