Sometimes you need to add complex/dynamic routes. This is often impossible to do in routes.rb, but do not worry. It can be accomplished with a catch-all route. See how in this episode.
# routes.rb
map.connect '*path', :controller => 'redirect', :action => 'index'
# redirect_controller.rb
def index
product = Product.find(:first, :conditions => ["name LIKE ?", "#{params[:path].first}%"])
redirect_to product_path(product)
end
本文介绍了一种在Rails应用中使用catch-all路由的方法,通过这种方式可以实现复杂或动态路由的功能。通常这种需求无法直接在routes.rb文件中定义,文章提供了一个具体的例子来说明如何配置catch-all路由,并将请求导向特定控制器和动作。
843

被折叠的 条评论
为什么被折叠?



