Я пытаюсь сделать вызов ajax для действия контроллера.Ajax вызов для действия контроллера: RoutingError
Ajax вызова:
$.ajax({url: "offerings/remove_from_sale", type: "POST"})
контроллер:
class Manage::GroundServiceController < ApplicationController
def remove_from_sale
Ts::User.all.each do |user|
unless user.ground_service == nil
if user.ground_service.ID == params[:id]
true
end
end
end
end
end
маршруты:
namespace :manage do
resources :ground_service, except: [:new, :create, :edit, :update, :destroy] do
collection do
get :edit
get :products
resources :events, only: [:show, :update] do
member do
post :accept
end
end
resources :offerings, only: [:update, :remove_from_sale]
resources :prices, only: [:update]
end
end
end
Существует ошибка
No route matches [POST] "/manage/ground_service/offerings/remove_from_sale"
Что я делаю неправильно? Должен ли я поставить remove_from_sale
действие на offerings_controller
? Пожалуйста, спросите, нужна ли вам дополнительная информация.
Он работает, спасибо! Можете ли вы помочь со следующей проблемой? Существует ошибка 'Шаблон отсутствует' manage/offersings/remove_from_sale, но мне не нужен файл просмотра для этого действия. –
@Gvcci это еще один вопрос, и я не могу помочь без какого-либо контекста. –
Поскольку вы вызываете его через ajax, вашему методу remove_from_sale, вероятно, нужна строка format.js, или вы можете добавить рендер: nothing => true, если не требуется шаблон. – emcanes