Вопросы маршрутизации с рельсами - PullRequest
0 голосов
/ 27 октября 2010

Я только начинаю с рельсов, и у меня очень простой случай.У меня есть «домашний» контроллер.В этом контроллере определено одно действие index.Когда я иду в ~ / home, я получаю сообщение об ошибке:

uninitialized constant HomesController (я заметил единственное / множественное число).

Это первое, что я не получаю (ядумал, что он автоматически перейдет в ~ / home / index).

Во-вторых, если я перейду к ~/home/edit (обратите внимание, что это действие еще не существует), я также получу: uninitialized constant HomesController Но еслиЯ иду в ~ / home / show (шоу также не существует), я получаю другое сообщение об ошибке:

No route matches "/home/show"

Как я могу получить 2 разных ошибки по той же причине (несуществующее действие).И что за дело с этой константой?

Спасибо

Редактировать Я запускаю рельсы 3.0

Вот мой файл rout.rb

Topnotch::Application.routes.draw do
  resources :subscriptions
  resource :home

  get "home/index"

  get "subscriptions/index"

  root :to => "home#index"
end

Ответы [ 3 ]

1 голос
/ 27 октября 2010

Изменяет корневой маршрут, как показано ниже: -

root: to => "homes # index".

Вы должны использовать форму множественного числа в маршрутах.

1 голос
/ 27 октября 2010

Оказывается, маршруты были правильными, я просто не использовал их правильно! rake routes помогло.

1 голос
/ 27 октября 2010
  1. Вы должны добавить ресурс "home" в route.rb.
  2. Контроллеры считаются множественными.
  3. Если вы новичок в rails, я предлагаю вам начать использовать генераторы - просто откройте терминал в папке проекта и введите «script / generate scaffold home» (в rails3 это будет «rails g home»)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...