У меня есть следующий уничтожить метод в моем контроллере Tracks:маршрутизации Ошибка - Нет маршрута матчей [POST]
def destroy
if params[:product_id].present?
@product = Product.find(params[:product_id])
@track = @product.tracks.find(params[:id])
@track.destroy
redirect_to product_path(@product)
elsif params[:release_id].present?
@release = Release.find(params[:release_id])
@track = @release.tracks.find(params[:id])
@track.destroy
redirect_to release_path(@release)
end
end
Я могу уничтожить релиз трека с помощью:
<%= link_to 'Destroy', release_track_path(@release,track), :confirm => 'Are you sure?', :method => :delete %>
Но я получаю маршрутизацией ошибка «нет маршрута матчей [POST]„/ продукты/74/дорожки/43“», когда я пытаюсь уничтожить трек продукта:
<%= link_to 'Destroy', product_track_path(@product,track), :confirm => 'Are you sure?', :method => :destroy %>
Я принял взглянуть на мой файл маршрутов и думаю, что это, вероятно, проблема, но, попробовав несколько вещей, я в тупике! Может ли кто-нибудь помочь? Это сводит меня с ума. Я использую то же самое, если els на моем методе создания, и он отлично подходит для обоих треков Release Track и Product Track.
Вот мой routes.rb (я подозреваю, что это большой беспорядок!)
Dashboard::Application.routes.draw do
get "home/index"
root :to => "home#index"
get "tracks/new"
get "tracks/create"
get "tracks/update"
get "tracks/edit"
get "tracks/destroy"
get "tracks/show"
get "tracks/index"
get "help/index"
resources :helps
resources :roles
resources :labels
devise_for :users
resources :users
resources :releases do
resources :artists
resources :tracks
resources :products do
resources :tracks
resources :itunes_data
end
end
resources :itunes_data
resources :tracks do
collection { post :sort }
end
resources :products do
resources :tracks
collection do
get 'schedulecsv'
get 'schedule'
get 'new_releases'
get 'active_lines'
get 'deleted_lines'
get 'gemsetup'
get 'amazonsetup'
get 'search'
end
end
resources :artists
end
Похоже, вы используете ': method =>: delete' в своем методе Release, но': method =>: destroy' на треке. Это артефакт вашей отладки? – ScottJShea
Ха! Теперь я чувствую себя глупо! Угадайте, что он просто берет другой набор глаз, иногда да! Большое спасибо, спасибо! – Raoot
Нет проблем ... Я делаю это все время ... другое, что я делаю, это отладка, в то время как попытка несколько вещей, а затем опубликовать попытку отладки, делая вещи еще более запутанными. – ScottJShea