Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je cherche à générer dynamiquement les liens de mon application côté front qui proviennent de mon back office.
Par exemple l'administrateur du site créé une catégorie "sacs", alors s'il souhaite qu'elle soit visible sur le site, elle est automatiquement rajoutée dans le menu.

        <% if @categories %>
          <% @categories.each do |category| %>
          <% if category.display_site %>
            <li class="nav-item">
              <a class="nav-link" href="<%= list_product_by_category_path %>"><%= category.name %></a>
            </li>
          <% end %>
        <% end %>
      <% end %>

Ce que je veux

Je cherche à obtenir une route du type "articles/macatégorie".

Pour le moment j'ai écrit cela:

get 'articles/:categories', to: 'articles#index', as: 'list_product_by_category'

Ce que j'obtiens

Le souci avec cette route c'est que je n'ai plus accès à mes autres routes.
Exemple quand je tente d'accéder à la route root ( root to: "home#index"):
ActionController::UrlGenerationError at /
No route matches {:action=>"index", :controller=>"articles"}, missing required keys: [:categories]

Et par ailleurs mes liens ne sont pas bons car générés par le paramètre GET donné :
Exemple: si je clique dès le début sur le lien "articles/sacs", la catégorie "Laine" aura aussi l'url "articles/sacs" et par "articles/laine".

C'est un problème de génération de route mais je n'arrive pas à trouver de solution pour le moment, alors merci d'avance de votre aide.

Aucune réponse