проблема маршрутов на рубинах - PullRequest
1 голос
/ 15 августа 2011

У меня есть следующие маршруты:

     people GET    /people(.:format)          {:action=>"index", :controller=>"people"}
            POST   /people(.:format)          {:action=>"create", :controller=>"people"}
 new_person GET    /people/new(.:format)      {:action=>"new", :controller=>"people"}
edit_person GET    /people/:id/edit(.:format) {:action=>"edit", :controller=>"people"}
     person GET    /people/:id(.:format)      {:action=>"show", :controller=>"people"}
            **PUT    /people/:id(.:format)      {:action=>"update", :controller=>"people"}**
            DELETE /people/:id(.:format)      {:action=>"destroy", :controller=>"people"}

Однако, когда мой клиент Flex запрашивает обновление с

" **<mx:HTTPService id = "update"
url='http://localhost:3000/people/{grid.selectedItem.id}.xml?_method=put**"  

, я получаю сообщение об ошибке

**ActionController::RoutingError (No route matches "/people/1.xml"**. 

Дажекогда я явно (для устранения неполадок) преобразовываю строку в **url='http://localhost:3000/people/1.xml?_method=put", ошибка сохраняется. *

Я могу без ошибок набрать "http://localhost:3000/people/1.xml" в адресной строке.

Что я делаю неправильно?Заранее спасибо.

1 Ответ

2 голосов
/ 15 августа 2011

Когда вы набираете http://localhost:3000/people/1.xml, это запрос GET.

Вам нужно сделать запрос PUT, который на самом деле POST <a href="http://localhost:3000/people/1.xml" rel="nofollow">http://localhost:3000/people/1.xml</a>?_method=PUT

Так что нужно как-то сделать POST запрос от Flex

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