Я получаю эту ошибку
No route matches [PATCH] "/blog_posts/id/1/hide"
в сценарии, где я уверен, что все правильно. Что не так с моим кодом?
Маршрут
patch '/blog_posts/:id/hide(.:format)', to: 'blog_posts#hide'
и ссылка
<%= link_to 'Hide', "/blog_posts/id/#{blog_post.id}/hide", method: :patch, data:
{ confirm: 'Are you sure to hide this post?' } %>
Маршрут даже указан на странице ошибок, на которой печатаются все доступные маршруты ...
PATCH /blog_posts/:id/hide(.:format) blog_posts#hide
Как правило, вам не нужно создавать такие URL-адреса, вы должны предпочесть помощники по путям, которые дает вам Rails: <%= link_to hide_blog_post_path(blog_post), ... %>
"/blog_posts/id/1/hide"
не равно
/blog_posts/1/hide
Последним и должен быть путь.