Ich habe einen Produktindex mit einer Liste von Kategorien. Ich habe in meinem Produktmodell für jede Kategorie benannte Bereiche verwendet, wobei jede Kategorie in der Ansicht über einen Link verfügt, der Benutzer an einen entsprechend gefilterten Produktindex weiterleitet. Ich habe eine Liste von Routen für jeden Bereich. In der Ansicht möchte ich den Routenpfad dynamisch durch eine Variable wie VAR_products_path ersetzen. Was ist die richtige Syntax dafür?Ändern Sie den Namen des Routenpfads mit einer Variablen
Produkte Index
- @categories.each do |cat|
- @product = Product.where("category_id = ?", cat.id)
= link_to "#{cat.category_name}", cat.category_name_products_path# architecture_products_path or arts_products_path
Produkte Controller
def architecture
params[:category]
@categories = Category.all
@products = Product.architecture
render action: :index
end
Routen
Dateiresources :products do
collection do
get :architecture
get :arts
get :business
...
Produktmodell
scope :architecture, -> { where(category_id: 1) }
scope :arts -> { where(category_id: 2) }