У меня проблемы с реализацией метода link_to. Моя программа использует ссылку для вызова метода контроллера, который выполняет некоторую логику и отображает часть. Проблема в том, что я не могу получить ссылку для вызова метода контроллера. Я попытался вызвать тот же метод контроллера с button_to, и он, кажется, работает. Глядя на API обоих вспомогательных методов ActionView button_to и link_to, кажется, что параметры должны быть одинаковыми. Однако следующие две строки кода делают две разные вещи.
_product.html.erb
<%= link_to 'view individual', products_view_individual_product_page_path(product_id: product.id)%>
<%= button_to 'view individual', products_view_individual_product_page_path(product_id: product.id)%>
Вызов link_to вызовет ошибку ActiveRecord :: RecordNotFound: «Не удалось найти продукт с 'id' = view_individual_product_page", а переданные параметры: {"product_id" => "261", "id" => " view_individual_product_page "}, я не уверен, почему он пытается передать путь моего метода контроллера в качестве идентификатора. Однако строка кода button_to работает просто отлично, и я в указанном методе контроллера. Вот запись маршрута в моем файле rout.rb ...
routes.rb
post 'products/view_individual_product_page'
Может кто-нибудь объяснить мне, что я делаю здесь неправильно, я не могу найти много информации в Интернете о том, почему путь передается в виде идентификатора в link_to, но не button_to