0

我有一个名为 Listing 的模型,它代表公寓转租的列表。这些转租可以以不同的期限出租(夏季、冬季等)。因此,每个 sublet 的术语都存储为序列化字符串。(我知道这不是最好的方法,但我正在尝试启动这个应用程序)我正在为这些列表创建一个过滤器功能,因此用户可以选择他们想要的列表中的哪些属性并显示与过滤器匹配的结果. 但是,我在使用术语部分时遇到了麻烦。用户可以检查他们希望列表可用的术语,因此这也存储在序列化数组中。使用 rails orm 我该怎么做

listing=listing.where("term contains value(s) from input term")

基本上,我希望它返回用户首选条款与列表条款至少有一个重叠的列表。

即,如果列表具有夏季会话 1 和冬季的条款,并且用户选择夏季会话 1 和春季,则应返回该列表。

有人有想法么??

4

1 回答 1

0

这就是你要找的:

listings = Listing.where('term in (?)', terms)

或者你可以这样做:

listings = Listing.where(:term => terms)
于 2013-03-10T05:42:00.043 回答