2011-07-13 97 views
0

我有我的類別模型的祖先。我使用slu ge寶石。 目前,我有以下幾點:祖先模型導軌slu 012

class Category < ActiveRecord::Base 
    slug :name 
end 


class CategoriesController < ApplicationController 
    inherit_resources 
    defaults :finder => :find_by_slug 
    def show 
    @category = Category.find_by_slug(params['category_id']) 
    show! 
    end 
end 

    match "categories/:category_id" => 'categories#show', :as => :category 

這工作得很好,但我想說明父母/子女路徑,而不是/兒童

如果我的類別有父。如何達到這個目標?

例如,我有BMW類別和x5作爲子類別。 我現在有這個鏈接:/categories/bmw爲bmw和/categories/x5爲x5。我需要這個鏈接categories/bmw/x5,而不是子類

回答

0
match "categories/:category_id" => 'categories#show', :as => :category_short 
match "categories/:category/:category_id" => 'categories#show', :as => :category_long 

    def category_path(category) 
    unless category.is_root? 
     category_long_path category.parent, category 
    else 
     category_short_path category 
    end 
    end 
路線
0

可以嵌套你match聲明父資源這樣的(至少在Rails 3中):

resources :things do 
    match "categories/:category_id" => 'categories#show', :as => :category 
end 

這應該創造這樣/things/:thing_id/categories/:category_id

+0

我不需要的東西,我需要*類別/類別/:子類別*或*類別/類別*如果父母 –