рельсы 3.0 Нет маршрутов - PullRequest
1 голос
/ 11 ноября 2010

Привет всем Недавно я обновил приложение rails 2.3.5 до версии 3.0

.

в рельсах 2.3.5 все было нормально, но в 3.0 я получаю ActionController :: RoutingError

Не найдено ни одного маршрута {: action => "create",: controller => "hours"}

ошибка строки указывает на моего помощника по форме

<%= form_for(:hour, :url =>{:action =>'create'}) do |f| %>

в моем файле маршрутов у меня есть следующее утверждение:

match 'hours' => 'hours # index'

Может кто-нибудь сказать мне, как я могу это исправить ?. Буду признателен за ваш ответ

Ответы [ 2 ]

2 голосов
/ 11 ноября 2010

Как указано выше в Ariejan - вам нужно иметь маршрут от действия create, если это то, что использует ваша форма.

Если у вас нет всех ресурсов RESTful, вы также можете ограничить действия, используя следующий параметр:

resources :hours, :except => [:destroy, :show]

или

resources :hours, :only => [:index, create]

Руководства по Rails содержат хорошую документацию. http://guides.rubyonrails.org/routing.html

2 голосов
/ 11 ноября 2010

Пробег rake routes.match 'hours' => 'hours#index' дает вам GET /hours.

form_for пытается получить доступ к маршруту POST /hours, который сопоставляется с hours#create.

Вместо правила соответствия, попробуйте вместо этого:

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