大多数关于在Rails中美化Urls的教程都解释了如何获得像www.example.org/resource/3-some-sluggish-slug这样的Urls,使用to_param方法非常容易。
我想要的是在Rails3应用程序中美化Urls,就像Stackoverflow (www.example.org/resource/3/some-sluggish-slug)一样。some-sluggish-slug可以是任何字符串,它只是为了有一个更好的Url,并且被所有逻辑忽略(就像在Stackoverflow中一样)。有没有一种简单的方法可以做到这一点?或者在Url到达routes文件或routes文件本身之前,我必须以某种方式重写Url?
发布于 2011-05-24 20:20:36
按照教程中的说明进行操作,但不要在ID后面加上连字符,而要有一个/。您将需要编写一条路由来应对此问题。
match 'resource/:id', :to => 'resources#show', :id => /\d+\/[a-z0-9\-]+/, :as => 'public_post'发布于 2011-05-24 20:19:31
您必须定义自己的路由;请参阅the Rails guide section 3及更高版本。
https://stackoverflow.com/questions/6110212
复制相似问题