在没有嵌套资源的情况下创建嵌套路由

时间:2013-05-05 14:37:24

标签: ruby-on-rails

我有一个Rails应用程序,其中包含用户配置文件,提供用户办公室的详细联系信息。我想向用户的办公室显示地图,但地图对于个人资料页面来说太大了,所以我想让访问者可以选择在这样的新页面上查看地图

localhost:3000/userprofile/2/map

我知道如果我创建一个地图资源并像这样嵌套它

  resources :user_profiles do

     resources :maps
  end 

我会自动获取上面的地图网址。但是,我认为我不需要地图的完整资源,因为它只是使用已经位于Google地图API的用户配置文件中的信息(即地址)。

因此,我创建了这样的路线

 match "/user_profiles/:user_profile_id/map" => "user_profiles#map", :via => :get

但是当我做'rake routes'以找出路由助手(例如,用户/评论资源的user_profile_reviews_path)时,它没有给我一个。我不知道如何创建将在user_profile/id/map

上打开的链接

我可以做我正在做的事情,还是应该创建一个Map资源?

1 个答案:

答案 0 :(得分:2)

Add a new RESTful resource

resources :user_profiles do
  get 'map', :on => :member
end