неинициализированная постоянная ошибка в рельсах 3 на вновь созданном контроллере - PullRequest
2 голосов
/ 02 ноября 2011

Я добавил контроллер Session в свое приложение для входа / выхода пользователя, используя

rails g контроллер Сессия new create destroy

затем добавьте следующие строки в мой файл маршрута:

ресурсы: сеансы,: только => [: новый,: создать,: уничтожить]
соответствует '/ signup',: to => 'users # new'
соответствует '/ signin',: to => 'session # new'
соответствует '/ signout',: to => 'session # destroy'

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

неинициализированная константа SessionsController

Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 02 ноября 2011

Вы создали контроллер Session, а не контроллер Sessions. Поскольку это единственное число, вы хотите особый маршрут:

resource :session, :only => [:new, :create, :destroy]
3 голосов
/ 08 декабря 2011

Я столкнулся с этим сегодня и обнаружил, что должен был сделать три вещи: 1) использовать ресурс (не ресурсы);2) поставить контроллер вручную, и 3) вручную установить URL-адрес в тегах form_for, используя ресурс (может не подходить для вашего случая) ...

# routes.rb
resource :session, :only => [:new, :create, :destroy], :controller => 'session'

#.../new.html.erb
<% form_for @session, :url => session_path do |f| %>

Указание контроллера имеет значение, если, как и я, вашимя контроллера, имена файлов и т. д., все в единственном числе.

Это, по-видимому, связано с ошибкой в ​​rails

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