ActionController :: MethodNotAllowed - PullRequest
       6

ActionController :: MethodNotAllowed

0 голосов
/ 30 апреля 2010

У меня есть модель рельсов, которая называется audioclip. Я изначально создал скаффолд с «новым» действием, которое я заменил на «new_record» и «new_upload», потому что есть два способа прикрепить аудио к этой модели.

Переход к / audioclips / new_record не работает, потому что он принимает 'new_record', как если бы это был id. Вместо того, чтобы изменить это, я пытался просто создать пути '/ record_clip' и '/ upload_clip'.

Так что в моем route.db у меня есть:

map.record_clip '/record_clip', :controller => 'audioclips', :action => 'new_record'
map.upload_clip '/upload_clip', :controller => 'audioclips', :action => 'new_upload'

Когда я перехожу к / record_clip, я получаю

ActionController::MethodNotAllowed
Only get, head, post, put, and delete requests are allowed.

Я пока не очень знаком с внутренними принципами маршрутизации. В чем здесь проблема? (Если это поможет, у меня есть эти два утверждения выше map.resources =>: audioclips

1 Ответ

1 голос
/ 30 апреля 2010

Да, ваши два маршрута конфликтуют с вашим сопоставленным ресурсом (бит map.resources => :audioclips).

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

map.resources => :audioclips,
                 :new => { 
                    :new_record_clip => :post,
                    :new_upload_clip => :post }

Если вам нужна дополнительная информация, руководство Rails невероятно полезно по этой теме:

http://guides.rubyonrails.org/routing.html#adding-more-restful-actions

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