1

私はモデルカテゴリーを持っています:

class Category < ActiveRecord::Base
  has_many :item_categories, :dependent => :destroy
  has_many :items, :through => :item_categories
  has_ancestry
end

およびモデルアイテム:

class Item < ActiveRecord::Base
  has_many :item_categories, :dependent => :destroy
  has_many :categories, :through => :item_categories, :uniq => true
end

私はこの宝石を使用しています-https ://github.com/stefankroes/ancestry

したがって、サイトのURLは次のようになります。

/category-slug/ - "categories#show"
/category-slug/subcategory-slug
/category-slug/subcategory-slug/subsubcategory-slug
/category-slug/item-slug - "items#show"
/category-slug/subcategory-slug/item-slug
/category-slug/subcategory-slug/subsubcategory-slug/item-slug

このURLのルートはどのようになりますか?そしてそれは可能ですか?

4

1 に答える 1

0

次のように問題を作成することをお勧めします。

/category1/ - "categories#show"
/category1/category2
/category1/category2/category3
/category1/item - "items#show"
/category1/category2/item
/category1/category2/category3/item-slug

私は次のルートでこれを解決します:

resources :categories do
  resources :categroies
  resources :items
end

これは与える:

category_categroie GET /categories/:category_id/categroies/:id(.:format) {:action=>"show", :controller=>"categroies"}
     category_item GET /categories/:category_id/items/:id(.:format)      {:action=>"show", :controller=>"items"}
          category GET /categories/:id(.:format)                         {:action=>"show", :controller=>"categories"}

これにより、次の 6 つの問題が解決されます。

/categories/1
/categories/1/categories/2
/categories/2/categories/3
/categories/1/item/4
/categories/2/item/5
/categories/3/item/6

おそらく、このソリューションでプログラムを動作させることができます。

于 2012-04-15T16:26:57.353 に答える