Получение ошибки маршрутизации при попытке вызвать УДАЛИТЬ - PullRequest
0 голосов
/ 20 сентября 2018

У меня проблема с вызовом DELETE запроса по правильному маршруту

Это маршрут, по которому я хочу запросить DELETE

post_comment DELETE (/:locale)/*category/posts/:post_id/comments/:id(.:format)

Это ссылка, которую СЛЕДУЕТвызвать DELETE на правильном маршруте:

<%= link_to image_tag("bin_icon.png",:size => "65x35"), 
            post_comment_path(id: comment.id, 
                              post_id: comment.post_id,
                              category: comment.category),
            method: 'delete',
            class: 'edit-links' %>

Он находится в части, называемой app/views/comments/_comment.html.erb, которая отображается внутри app/views/comments/index.html.erb

Я получаю ошибку - простая маршрутизацияошибка:

No route matches [DELETE] "/de/general/announcements/posts/21/comments"

То, что я пробовал также:

<%= link_to image_tag("bin_icon.png",:size => "65x35"), 
            comment,
            method: 'delete',
            class: 'edit-links' %>

Потому что это то, что работает в моих представлениях пользователя:

<%= link_to t('delete'),
            user,
            method: :delete,
            class: 'delete-button' %>

1 Ответ

0 голосов
/ 20 сентября 2018

У меня это работает сейчас:

Вот как вы обращаетесь к этому: все параметры URL в правильном порядке, например:

post_comment_path(comment.category, @post, comment)

Или мой случай тоже такой:

post_comment_path(category: comment.category, id: comment.id)

Несмотря на то, что я не понимаю, почему мой первый способ передачи параметров :post_id вручную в помощника не дал мне правильный маршрут.

Он просто помещал id комментария 21 как /:post_id/ вместо /:id и устанавливал /:id в ноль в конце URL на этом маршруте:

post_comment DELETE (/:locale)/*category/posts/:post_id/comments/:id(.:format)

в результате этого маршрута:

/posts/21/comments/

вместо, например:

/posts/2/comments/21

Я немного запутался, почему это происходит, но пока работает так, как должноиметь в начале.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...