路线:控制器资源前的前缀项目名称

我试图让下面的路线在我工作的Rails应用3。

场景:
我在我的应用程序以下控制器:

  • 实践
  • 医生
  • 病人
  • 处方

搭:为他们每个人在routes.rb中的资源给了我从路线

  • example.com/practices
  • example.com/doctors/1/edit等

我想不过有如下足智多谋的路线,例如:

  • example.com/james_practice/docs可以转换为医生控制器
  • example.com/james_practice/awesome_prescriptions的路线处方控制器等等等等。
    这两个给我访问:实践的名字,此外航线正确的控制器像edit_docs_path(医生)的所有助手等。

我怎么会去吗? 我用

resources :prescriptions, :path => "/:practice/awesome_prescriptions"

但尽管它表现出“耙路”正确的路线,它仍然无法正常工作。

--------------解决方案-------------

我认为这是你要找的路线:

scope :path => ":practice" do
resources :docs, :controller => "doctors"
resources :awesome_prescriptions, :controller => "prescriptions"
end

顺便说一句,你没有给我的例子Patients ,所以我没有把它放在那里。

map.resources只是一个模式,更像是一个捷径。 如果你想拥有像你的例子,你应该使用“命名路由”的网址。 一个良好的截屏Rails的2.X:http://railscasts.com/episodes/34-named-routes

编辑:阅读部分3.2 Rails的教程:http://guides.rubyonrails.org/routing.html

PS你也将面临那里的人们使用情况“。” 在他们的名字,它会导致问题。 下面是我的路线为“标签”

map.resources :tags, :requirements => { :id => %r([^/;,?]+) }

分类:Ruby on Rails的 时间:2013-08-25 人气:1
本文关键词: Ruby on Rails的路由,路由
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.407 (s). 9 q(s)