使用嵌套的资源或在资源上有一个集合

时间:2013-05-28 22:17:15

标签: ruby-on-rails routes

我有2个型号,'设备'和'DeviceActivity',其中设备有许多设备活动。现在,如果我使用常规资源嵌套,我最终会得到像

这样的东西
/devices/1/activities

/devices/1/activities/1

我想要的是访问

/devices/activities

我希望显示所有设备的所有活动,例如活动流。是否正确地在Devices资源上创建集合?

2 个答案:

答案 0 :(得分:5)

这是解决方案

resources :devices do   
    collection do
      resources :activities, :controller => 'device_activities'
    end
  end

答案 1 :(得分:0)

所以你想要一个GET /设备/活动,只要我阅读resourceful routing这个没有涵盖,但你可以自己在路由中定义这个,如

match "devices/activities" => 'devices#activities',    :as => :devices_activities

因此您只需要在您的DevicesController中使用视图

实现activities方法