我在Rails中遇到RESTful URL问题。
我有site.com/services网址,我希望在该类别下有子网页,即:site.com/services/arquitecture,site.com/services/plumbing等。
我在该类别下服务的页面是“静态”.rhtml文件,我希望它们位于同一个控制器上。
有没有办法做到这一点?我尝试过嵌套资源,但我发现很难完全理解。
由于
答案 0 :(得分:0)
资源不是为提供静态页面而构建的。使用常规的非RESTful路由,您可以准确定义哪些URL映射到哪个控制器和操作。
答案 1 :(得分:0)
这是一个简单的方法。
假设您的routes.rb中有“services”资源,则不需要嵌套资源 - 只需在路由定义中添加:members hash:
map.resources :services, :member => {:plumbing => :get, :arquitecture => :get, ...}
然后在服务控制器中为每个静态页面定义空操作。如果这些页面真的是静态的,你可以使用页面缓存。在第一次调用每个操作后,Rails将完全绕过控制器。