Команда, которую я пытаюсь выполнить с терминала:
curl "http://acme.example.com/controller_name/destroy.xml?api_key=123&id=150&other_id=430"
Просто простой запрос GET, ничего особенного там нет.
Но когда я это делаю, я получаю эту ошибку:
ActionController::RoutingError
(No route matches "/controller_name/destroy.xml" with
{:remote_ip=>"127.0.0.1",
:accepts=>"*/*",
:protocol=>"http://",
:subdomain=>"acme",
:method=>:get,
:request_uri=>"/controller_name/destroy.xml?api_key=123&id=150&other_id=430",
:port=>80,
:content_type=>nil,
:domain=>"example.com"}):
Итак, я добавил это в свой файл rout.rb:
map.connect "/controller_name/destroy", :controller => :controller_name, :action => :destroy
Но я получаю ту же ошибку, поэтому добавленный маршрут не помогает вообще.
Вот метод уничтожения из имя_контроллера
def destroy
@other = Other.find(params[:other_id])
attachment = @other.attachments.find(params[:id])
attachment.destroy
@attachments = @other.attachments
respond_to do |format|
format.xml do
head :ok
end
end
end
В маршрутах.rb имя_контроллера просто включено следующим образом:
map.resources :others, :has_many => [:controller_names]
и все AJAXв контроллере работают нормально ... даже для того же метода вызов уничтожения с помощью AJAX-запроса работает .... но не часть XML .....> _ <</p>