假设我有一个包含五个模型的标准Rails应用程序:Topic
,Post
,Author
,Comment
和CommentAuthor
。我希望Posts
可以使用domain.com/:author_name/32
,我希望Topics
可以使用domain.com/12
。
我希望在root下可以使用一个模型,而不会破坏其他模型。自然等级。这在Rails中甚至可能吗?
更新
这是因为我在加载资源时不断收到这样的错误:
{"controller"=>"topic", "action"=>"show", "post"=>"assets", "id"=>"social-icons", "format"=>"css"}
答案 0 :(得分:2)
对于主题,假设您的控制器是主题控制器
get '/:id', to: 'topics#show'
对于帖子,它将是
get '/:author_name/:id', to: 'posts#show'
另外,请仔细阅读指南:http://guides.rubyonrails.org/routing.html
答案 1 :(得分:0)
您可能需要使用
的嵌套路线 resources :authors do
resources :posts
end
假设您正确地完成了模型关联,这将成为路由的开始。要获取domain.com/author_name/32,您需要稍微自定义它。也许
https://github.com/norman/friendly_id
可以帮到你。