如何管理/保持复杂的相关对象的状态

对于性质的网站我有很多的箱子与面

  • 我可以基于什么已被查询打开/关闭一些方面
  • 有些方面有两个值 - 开区间,闭区间,例如“只有1床”和“1个或多个床”
  • 一些方面,可以多次选择。 例如:我可以选择“公寓”,然后我可以选择进一步的“阁楼”

目前,我有

  • FacetSet对象持有的所有小面的。
  • 每个面有一个值对象
  • 值对象持有桶(只有1床,1个或多个床位)
  • 斗持有的时间间隔,查询,并为这个选项标签(1床只)

而我在所有的对象.to_param方法,并将其格式化为URL。 但它会非常肮脏,复杂的维护/跟踪此代码。

如果我在整个更换水桶这种结构就变成噩梦。 或者,如果我想有AND和OR在水桶逻辑的代码复杂度将会变高。

一种选择是不是格式化每个对象作为一个网址,但转储FacetSet为JSON。

什么是管理这种结构的最佳方式?

--------------解决方案-------------

我个人倒有一个搜索资源和存储你的数据在那里。

很好的例子:

http://railscasts.com/episodes/111-advanced-search-form

分类:Ruby on Rails的 时间:2015-03-15 人气:3
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.404 (s). 10 q(s)