Rails 3嵌套路由参数名称不同

时间:2012-01-20 20:20:13

标签: ruby-on-rails rails-routing

我有一个嵌套资源,如下所示:

resources :events
  resources :attendances
    post 'update_email'
  end
end

它显示了我看起来像这样的路线(为简洁起见,遗漏了大部分标准REST路线):

             event_attendance GET  /events/:event_id/attendances/:id
event_attendance_update_email POST /events/:event_id/attendances/:event_attendance_id/update_email

那么,为什么当我添加新路由时,它们有不同的id参数?

1 个答案:

答案 0 :(得分:1)

Ack,在发布后几乎立刻发现了这一点。

问题在于我没有指定它是成员资源的路由:

resources :events
  resources :attendances
    member do
      post 'update_email'
    end
  end
end

产生我想要的东西:

event_attendance GET  /events/:event_id/attendances/:id
event_attendance_update_email POST /events/:event_id/attendances/:id/update_email