я уже чесать голову над этим, но я продолжать получать эту ошибкуРельсы маршрутизации - проблема пути
нет соответствующего маршрута {: действие => «шоу»,: category_id => ноль, : контроллер => "продукты",: идентификатор => NIL} отсутствуют необходимые клавиши: [: cATEGORY_ID,: ID]
в моей простой склонного логики всякий раз, когда я иду на category_product_path и перейти в категорию, я должен иметь список продуктов в этой категории. Но я, вероятно, что-то пропустил. Это мой взгляд файл ... где я попробовал несколько вещей без успеха
<% @products.each do |product| %>
<tr>
<td><%= link_to product.name, category_product_path(@category) %></td>
<td><%= product.category_id %></td>
<td><%= number_to_euro(product.price) %></td>
<td><%= product.stock %></td>
<td><%= image_tag(product.image.thumb) %></td>
<br>
</tr>
<% end %>
Это мои маршруты
namespace :admin do
resources :categories
resources :products
resources :orders
end
resources :categories, only: [:index, :show] do
resources :products, only: [:index, :show]
end
resources :orders, only: [:new, :create]
И что я предполагаю, что проблема где-то в контроллерах (не те, в папке администратора)
class CategoriesController < ApplicationController
before_action :set_category, only: [:show]
def index
@categories = Category.all
end
def show
@products = @category.products
end
private
def set_category
@category = Category.find(params[:id])
end
end
class ProductsController < ApplicationController
before_action :set_product, only:[:show]
def index
@products = Product.all
end
def show
end
private
def set_product
@product = Product.find(params[:id])
end
end
'category_products_path (category_id: @category)' обратите внимание, что это '' продуктов во множественном числе. – max
Но по-прежнему не так много смысла ссылаться на индекс. Я думаю, что вы ищете 'link_to product.name, category_product_path (category_id: product.category, id: product)' – max
эй. первый не работает, дает ту же ошибку, однако второй работает как шарм. Спасибо. И да, это не имеет большого смысла, я все еще учусь. что я хотел на самом деле сделать, это перейти на страницу категорий, а оттуда выбрать категорию продуктов и перечислить их. так что в основном это индекс в некотором смысле ... или, опять же, это может быть просто «фильтр», если вы будете :). О, и у меня есть вопрос, можете ли вы объяснить мне эту часть 'category_id: product.category, id: product', это неясно, и я не могу ничего найти в документации по rails о путях с несколькими аргументами –