【发布时间】:2011-08-14 06:33:39
【问题描述】:
我的模型看起来像
search.rb:
id eg: 101
name eg: San Francisco
cars.rb
id
name
搜索控制器将用户重定向到汽车。
search_controller.rb
if search.search_type=='cars'
redirect_to :controller=>'cars', :action=>'index', :id=>search
end
查找来自旧金山的汽车列表的查询如下所示:
http://localhost/cars?id=101
我在 search.rb 中覆盖了 to_param 方法,例如:
search.rb
def to_param
normalized_name = name.gsub(' ', '-').gsub(/[^a-zA-Z0-9\_\-\.]/, '')
"#{self.id}-#{normalized_name}"
end
这在某种程度上有效: 它生成如下所示的 URL:
http://localhost/cars?id=101-San-Francisco
但是,我想生成一个看起来像这样的 URL
http://localhost/cars/San-Francisco
我该怎么做呢? 我要修路线吗?
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails friendly-url