嵌套路由与在会话中存储当前ID?

时间:2011-05-15 06:18:16

标签: ruby-on-rails ruby-on-rails-3 routing nested-resources

为我的下一个网络应用程序挑选Rails 3。

基本上我有一组嵌套资源。

用户=> Apps =>表格

我花了一些时间使用会话来保存app_id所以我可以访问那些应用程序表单。

但是我在Rails 3中发现了嵌套路由....那么哪一个最好?我可能在Forms之后有另一层,因此它将嵌套3或4次。我在阅读rails指南http://weblog.jamisbuck.org/2007/2/5/nesting-resources时遇到了这个资源,并且我正在探讨如何继续。

我是否应该使用带有rails的嵌套资源或者只是开始使用会话,因为我可能有大量的嵌套资源?

1 个答案:

答案 0 :(得分:1)

用户关闭浏览器后会话就会关闭。因此,如果您只想临时存储app_id,并且仅针对此当前用户,会话就是您的朋友。

如果你想工作永久链接并且链接与实际用户无关,你应该使用nestes资源。

E.g。 users/1/apps/5/...如果用户1始终拥有这些应用,则不应在会话中处理此问题。如果您希望只有用户1可以访问users/1/apps/5,您可以使用会话/ cookie和登录系统来处理此问题。

如果由于资源的深度而担心URL的长度,请密切关注可理解且易于阅读的内容。我不知道你的网络应用程序的目的,所以我不知道将'form'作为'Apps'的资源是否合理。