自我相关的模型重构和网址

时间:2012-05-19 10:34:58

标签: ruby-on-rails model refactoring routes relationship

我正在我的个人网站上建立一个照片库,所有数据都是通过它的API从Flickr中提取的。

我已经在网站上显示了相册和照片一段时间了。这些都很好。

然后我注册了一个优质的Flickr帐户,并获得了使用收藏夹来整理我的相册的权限。

然后我使用它的API来添加一个Collection模型并将所有它的集合拉出来,并为每个相册分配一个parent_id来指向它的所有者集合。

每个集合都可以包含子集合,但不能包含子集合和子集合。

我使用这组关系完成了所有工作:

Collection.rb:

has_many :children, class_name: "Collection", foreign_key: "parent_id"
belongs_to :parent, class_name: "Collection", foreign_key: "parent_id"
has_many :albums

Album.rb:

has_many :photos, :dependent => :destroy
belongs_to :collection

在我的集合索引操作上,我显示所有顶级集合,然后在每个集合名称上链接到相同的索引操作但传递collection_id,因此当页面重新加载时,它可以使用该ID来查找具有该集合的集合家长。等等。

如果输入的集合没有子集合,它会检查相册,如果它们存在,则会显示它们。

我想知道的是我如何改变我的网址以使用户更友好。目前,如果我转到我的集合索引并深入到第二级集合,则URL看起来类似于:

http://localhost:3000/collections?collection=114

这是对的吗?你们会怎么做?

我想要一些想法和建议。此外,如果找到一个集合的专辑,它会重定向到专辑索引操作并传递集合ID,并且URL如下所示:

http://localhost:3000/albums?collection=113

对我来说,某些事情似乎并不正确,我相信有更好的解决方案。

0 个答案:

没有答案