在Rails 3,這是我的願望,以創建一個URL結構,看起來像:實現友好的URL和多個嵌套資源
http://example.org/learn/cooking/cooking-101/can-anybody-cook
,並對應於以下控制器:
http://example.org/learn/subject/module/lesson
的協會將看起來像:
Subject has many Modules
Module belongs to Subject
和
Module has many Lessons
Lessons belongs to Module
瞭解僅僅是一個集線器或儀表盤,並會列出所有的科目。與其他控制器沒有關聯。
我知道,在RailsGuides,他們警告不要使多個嵌套的資源,像這樣:
resources :subjects do
resources :modules do
resources :lessons
end
end
這是對所有我知道的。我有點卡住了。有人可以幫我路由嗎?
在第一個URL中,以subject爲例,它是否會顯示ID?我可以以某種方式顯示subject.permalink嗎?當然,我有這個屬性集。 – Alex
是的,如果你使用上面的show_lesson命名路由,你會在params集合中得到:subject,:module和:lesson,然後你可以使用它們來查找永久鏈接而不是id。 –
對於資源而不是命名的路由,它們將正常使用:id,但是您可以覆蓋對象的行爲。通過覆蓋to_param來確定id。這裏有一篇關於重寫to_param的文章,如果你感興趣的話:http://jroller.com/obie/entry/seo_optimization_of_urls_in –