2012-04-16 27 views
0

我的routes.rb文件:Ruby on Rails的 - 路線 - 先走一步了URL的

resources :forums do 
    resources :discussions, 
end 

我有我的項目的所有設置和工作,對論壇主題的網址是:

localhost:3000/forums/ - (forum name using permalink) - /topics/1 

我想用稍微容易的版本替換此:

localhost:3000/forums/ - (forum name using permalink) - /1 

基本上,URL和disab去掉「主題」部分ling'/ topics'完全 - 因此無法訪問。

我已設置論壇的顯示頁面以顯示其主題列表。實現這一目標的最佳途徑是什麼?提前謝謝了!

回答

1

您需要將路線添加到您的config/routes.rb

在我眼中,最簡單的方法是定義/forums/general-chat的默認路線。

match 'forums/:forumname/general-chat/:id => 'controller#method' 

要與主題禁用舊路線:

match 'forums/:forumname/topics/:id' => redirect("forums/%{forumname}/%{id}") 

rails routing guide是偉大的!

+0

對不起,我沒想到我很好地解釋了我自己。這與我試圖達到的目標非常接近 - 但我想它應該是動態的。我已經在原始文章中添加了更多的細節來解釋。 – Kobius 2012-04-16 13:52:37

+1

所以你希望它能夠說/論壇/論壇名稱/ 1,它應該做/ /論壇/論壇名稱/主題/ 1相同? – klump 2012-04-16 13:59:20

+0

就是這樣,是的!有沒有辦法通過鐵路線路輕鬆完成這項工作? – Kobius 2012-04-16 14:03:18