Rails:嵌套资源

时间:2012-09-11 18:02:42

标签: ruby-on-rails nested-resources

以下路径引发错误:

 = link_to 'Subscribers', user_subscribers_path(current_user)
  

未定义的方法`user_subscribers_path'用于<#:0x007f9b240b3148>

我不确定为什么。

我已按如下方式定义了我的路线:

  resources :users, :only => [:show, :index], :has_many => :subscribers, :shallow => true

谢谢!

修改 耙路线没有显示任何特别有用的东西。订阅者只有两行:

users GET    /users(.:format)               users#index {:has_many=>:subscribers}
user GET    /users/:id(.:format)           users#show {:has_many=>:subscribers}

1 个答案:

答案 0 :(得分:1)

您需要在路径文件中定义资源订阅者,如下所示

resources :users do 
 resources :subscribers
end

这将为您的资源创建所需的路径助手

对于浅路线,您可以使用

 map.resources :users, :shallow => true do |user|
  user.resources :subscribers 
 end