2009-11-27 8 views
0

Я контроллер под названием form_questions_answers с методом в нем называется modify_rule, но когда я выполнить запись в /form_questions_answers/modify_rule/60 Rails говорит мне:Помощь решение ошибки маршрутизации в Rails

Routing Error 
No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post} 

Почему это происходит, я имею map.resources :form_question_answers в routes.rb и map.connect ':controller/:action/:id' в нижней части файла route.rb, так почему же не срабатывает действие modify_rule?

+1

nm, Оказывается, у меня была орфографическая ошибка в URL-адресе действия - вместо «form_questions_answers» она должна была быть «form_question_answers». Как только я исправил эту ошибку, она работала как магия. Извините, пожалуйста, закройте. – Ash

ответ

1

/form_questions_answers/modify_rule/60 не принимает POST на основе map.resources. Это будет либо GET, либо PUT в соответствии с REST.

Возможно, вы захотите посмотреть rails routing guide для получения информации о маршрутах.

Счастливый день индейки!

0

Если вы используете маршруты на основе ресурсов, вы, вероятно, захотите удалить default routes. Это сказало, что вы, вероятно, хотите, чтобы добавить новый элемент к вашему form_question_answers маршруту, как это:

map.resources 'form_questions_answers', :member => { :modify_rule => :post } 

Вы можете прочитать больше о добавлении вариантов маршрутов here.