在Rails 3中创建SEO友好URL

Gav*_*Gav 5 routing routes ruby-on-rails custom-routes

我目前的网址如下:

things?category_id=6&country_id=17
Run Code Online (Sandbox Code Playgroud)

我希望网址看起来像这样:

/printer_cartridges/united_kingdom
Run Code Online (Sandbox Code Playgroud)

在Rails 3中是否有一种方法,没有对路由器中的所有类别和国家进行硬编码以获得我想要的URL,可能使用find_by_name或类似的?解决这个问题的最佳方法是什么?

Jor*_*dan 4

match '/:category_slug/:country_slug', :to => 'things#index'
Run Code Online (Sandbox Code Playgroud)

然后,您需要更新操作以使用 params[:category_slug] 和 params[:country_slug] 而不是 ids 查找所有内容。查看被子弹打过的宝石以生成子弹。