Если вы используете рельсы вложенные ресурсы следующие соглашения об именовании,
resources :boats do
resources :images
end
<%= link_to 'Delete Image', [@boat, @image], confirm: 'Are you sure?', method: :delete %>
Этот запрос к контроллеру изображений по пути рельсы. отправив идентификатор boat_id и идентификатор изображения.
Но, если вы хотите явно маршрут, чтобы контроллер лодки,
добавить маршрут в контроллере лодки как,
delete '/boats/:id' => 'boats#destroy_image', as: :destroy_image(image.id)
отправить image_id через Params,
затем в контроллере,
class BoatsController < ApplicationController
def destroy_image
@image = Image.find(params[:id])
@boat = @image.boat //do anything you want with the boat object
if @image.destroy
else
// *** ***//
end
respond_to do |format|
format.html { redirect_to list_tasks_path(@task) }
format.json { head :ok }
end
end
end
Итак, маршрут, о котором вы упомянули, приведет вас к действию destroy_image в контроллере судов, даже если маршрут dos не содержит image_id в качестве строки запроса, но мы отправляем его через params. Это сила рельсов.
Пожалуйста, добавьте код, который вы пробовали. – Sravan