Я пытаюсь создать фрагмент, содержащий ссылку на страницу «Продукт», которая принадлежит категории. Я могу генерировать ссылки на страницы демонстрации продукта, если использую синтаксис массива метода link_to, но в нижней части таблицы есть дополнительная ссылка, которая ведет на страницу индекса продукта.
В настоящее время я использую синтаксис массива для метода link_to для создания ссылок на страницу показа продукта. Это работает, но есть дополнительная ссылка внизу таблицы, которая указывает на страницу индекса продукта. Если продуктов не существует, ссылка все еще находится в отдельной строке. Если продукты существуют, то ссылка будет в пустой строке внизу таблицы.
Частичное
<tr>
<td>
<%= product.product_name %>
</td>
<td><%= product.product_description %></td>
<td><%= product.product_price %></td>
<td><%= link_to 'Product page', [@category, product] %></td>
</tr>
Вид
<table>
<tr>
<th>Product Name</th>
<th>Product Description</th>
<th>Product Price</th>
</tr>
<%= render @category.products %>
</table>
Показать действие контроллера продуктов
def show
@category = Category.find(params[:category_id])
@product = Product.find(params[:id])
end
Маршрут показа товара
category_product GET /categories/:category_id/products/:id(.:format) products#show
Скриншот маршрута продуктов
вывод рейковых маршрутов | grep product
routes.rb
Rails.application.routes.draw do
root 'pages#index'
get 'pages/admin'
get 'show_customer/:id', to: 'categories#show_customer', as: :show_category_to_customer
resources :categories do
resources :products
end
resources :users
end
Я хотел бы иметь таблицу, содержащую только ссылки на демонстрационные страницы продукта, а не дополнительную ссылку на страницу индекса продукта. Я пробовал category_product_path (@category, product) в частичном, но я получаю URLGenerationError, сообщающий, что идентификатор продукта равен nil.
Буду признателен за помощь в создании ссылок без дополнительной ссылки.