自定义成员路由:: id不包含在路由中

时间:2014-11-20 06:40:02

标签: ruby-on-rails

我创建了以下路线:

    resource :tweets, only: [:create]

然后我想创建一个用于将推文标记为垃圾邮件的API,因此我修改了我的路由如下:

    resource :tweets, only: [:create] do
      get :spam, on: :member
    end

尽管将此指定为成员路由,但它不允许我在推文中包含:id字段。

enter image description here

我希望路线为:

/tweets/:id/spam

而不是/tweets/spam

我阅读了rails指南,并认为将此自定义路线标记为member: :on会自动添加:id字段。如何添加:id字段?

1 个答案:

答案 0 :(得分:1)

您的路线应如下:

resources :tweets, only: [:create] do
   get :spam, on: :member
end

当您定义资源(以单数形式)时,您基本上说您不想引用ID