0
我有這樣的結構,我的新網址:Rails的從舊的URL到一個新的重定向,使用塞
module ApplicationHelper
def product_path(product)
unless product.category.nil?
cat = product.category
if cat.ancestry_depth.eql?(2)
product_long_path cat.root, cat.parent, cat, product
else
product_short_path cat.parent, cat, product
end
end
end
end
的routes.rb文件
get "/(*root_id)_(*subcategory_id)_(*category_id)_(*id)" => "products#show", :as => :product_long
get "/(*root_id)_(*category_id)_(*id)" => "products#show", :as => :product_short
和我的表演動作
def show
@product = Product.find_by_slug params[:id]
cat = @product.category
raise NotFound unless cat.slug.eql?(params[:category_id]) and cat.root.slug.eql?(params[:root_id])
raise NotFound if cat.ancestry_depth.eql?(2) and !cat.parent.slug.eql?(params[:subcategory_id])
end
我如何建立一個"products/:id"
重定向,我有2和3類深度的產品。