轨道上的红宝石 - 如何在我已经有'resources: users'时添加新路线



在我的routes.rb文件中,我有:

resources :users

我现在在我的控制器中添加了一个新操作,名为:add_blah

所以我尝试了这个:

resources :users do
  member do
    post 'add_blah'
  end
end

这个新方法"add_blah"仅用于POST。

def add_blah
  render :text => 'testing...'
end

我收到一个404未找到错误。

我做错了什么?

您需要使用集合。对于会员来说,我认为它使用的是users/:id/add_blah路线。检查您的rake routes

resources :users do
  collection do
    post 'add_blah'
  end
end

将使用users/add_blah路由。

resources :users do
  post 'add_blah', :on => :collection
end

这是嵌套集合/成员块变体的较短版本。

如果在路由文件中将post 'users/add_blah' => 'users#add_blah'添加到resources :users之上,则只允许HTTP POST。这就是你想要的吗?

相关内容

  • 没有找到相关文章

最新更新