2

我在我的 routes.rb 文件中定义了一个 CRUD 资源:resource :user.

我正在为名为 的用户添加一个新的控制器方法,该方法对用户search_places执行以查找具有相同places 的其他用户。我正在添加一条路线。

现在,我有:

post '/user/search_place',这不是很干。我是 Rails 新手,我正在阅读 Rails 路由文档并认为我可以使用

resource :user do
  collection do
    post 'search_place'
  end
end

这被认为是好的做法吗?我知道这行得通(它通过了我的 rspec 路由测试),但这是最好的做法吗?

谢谢,

4

1 回答 1

1

当你添加第二个不需要第一个。

添加这个:

 resources :user do
   collection do
     post 'search_place'
   end
 end

删除这个:

 resources :user

这使得DRY:)

建议:如果您遵循 Rails 约定,资源名称应以复数形式定义。(IE)resources :users

于 2013-02-16T16:08:32.813 回答