У меня есть has_many, благодаря связи между видео и темами с темами в качестве независимого ресурса.Я хочу иметь ссылку, которая удаляет эту конкретную запись с темой или ассоциацию, а НЕ видео и НЕ тему.
У меня есть этот метод в контроллере моей темы:
def destroy
@topicable = Topicable.find(params[:id])
@topicable.destroy
respond_to do |format|
format.html {redirect_to @video}
format.js
end
end
Я вызываю вышеуказанный метод с этой ссылкой в моем видеопоказе:
<%= link_to "x", topicable_path(@topicable), :method => :delete, :class => 'topic_delete' %>
Однако я получаю эту ошибку:
ActiveRecord::RecordNotFound in TopicablesController#destroy
Couldn't find Topicable with ID=474
Это потому, что 474 является идентификаторомвидео, а не идентификатор связи между темой и видео в таблице с темой.Что не так с моим destroy
методом, описанным выше, и как я могу это исправить?