Rails路由的排列

时间:2010-06-02 18:34:46

标签: ruby-on-rails

我目前有一个应用程序,对于一组参数(位置,类别,预算......),用户可以输入“漂亮”的URL,如:

  

/位置/加拿大/安大略省
  /类别/初级
  / budget / small

导致各自的参数:

params[:country] == 'canada' and params[:region] == 'ontario'
params[:category] == 'primary'
params[:budget] == 'small' 

我想允许用户一次对多个参数执行搜索(每个参数都是可选的)。例如:

  

/位置/加拿大/安大略省/类别/主要/预算/小
     /位置/加拿大/安大略省/类别/主      /预算/小/类别/主      /类别/主要/预算/小

我知道这可以使用URL参数来实现,但出于SEO原因,我更喜欢添加“漂亮”参数。如果不列出所有可能的路线组合(我有大量可搜索的字段),这是否可行?我明白路线“全球化”可能会发挥作用,但我不确定如何。

感谢。

1 个答案:

答案 0 :(得分:0)

结束了放弃Rails 2.升级到Rails 3的应用程序并使用了可选参数:

match 'filter(/budget/:budget)(/category/:category)(/location/:country(/:region))' => 'filter#index', :as => :filter