Rails中更清洁的资源URL

时间:2013-02-15 14:33:28

标签: ruby-on-rails url routes

我正在寻找一些帮助,让我的网址在我的Rails应用中对用户更具吸引力。 该应用程序在3.2.11上,我正在运行ruby 1.9.2p320

我目前有两个模型,我认为在URL表示中可能更清晰,公司和顾问。

他们都有独特的字段,公司有:名称和顾问有:用户名。 公司has_many:顾问 顾问belongs_to:公司

我使用的是friendly_id,因此两个资源都在网址中包含以下唯一ID:

http://localhost:3000/company/:name

http://localhost:3000/consultants/:username

我的路线如下:

resources :company, :path => '/company'

resources :consultants, :path => '/consultants'

现在我想知道是否有任何巧妙的方法可以让公司的网址看起来像这样:

http://localhost:3000/:name

和顾问一样:

http://localhost:3000/:name/:username

如果有可能,我将非常感谢有关此问题的任何帮助,谢谢! 如果我遗漏了所需的任何重要信息,我会马上道歉。

/拉斯穆斯

1 个答案:

答案 0 :(得分:0)

您可以将:path更改为您想要的任何内容,例如:

resources :company, :path => '/company'

resources :company, :path => ''

将从您的网址中删除/ company /

这里有一个你也可以使用的宝石,但它有很多功能,所以我想它可以满足你的需求: friendly_id

这是关于路由和命名空间的精彩指南:Rails routing from the outside in