在rails中使用资源而不是资源有什么好处?

时间:2015-01-27 10:58:26

标签: ruby-on-rails ruby-on-rails-3 routes

在rails路线中使用

有什么好处
resources :user
resource :user

我已经浏览过Google,发现资源不会提供索引方法。请发布差异,如果有的话。

2 个答案:

答案 0 :(得分:1)

来自Rails指南:

  

有时,您拥有一个客户端始终查找而不引用ID的资源。例如,您希望/ profile始终显示当前登录用户的配置文件。在这种情况下,您可以使用单一资源来映射/配置文件(而不是/ profile /:id)

这就是resource不提供索引路由的原因,目的是映射单个资源。

Reference

答案 1 :(得分:1)

在高层次上,资源的意图是声明只存在其中一个资源。例如:

resource :profile, :only => [:edit, :update]

作为用户,我应该只能更新自己的个人资料。我永远不能编辑其他用户'个人资料,因此不需要像/ users / 1 / profile / edit这样的网址方案。相反,我使用/ profile / edit,并且控制器知道使用当前用户的ID而不是URL中传递的ID(因为没有)。

这就是为什么你没有得到资源的索引动作:那里只有一个资源,所以" list"它们。