0

アパートのサブレットのリストを表す Listing というモデルがあります。これらのサブレットは、さまざまな期間 (夏、冬など) にレンタルできます。そのため、各サブレットの用語はシリアル化された文字列として保存されます。(これが最善の方法ではないことはわかっていますが、このアプリを起動しようとしています)これらのリストのフィルター関数を作成しているため、ユーザーはリストに必要な属性を選択し、フィルターに一致する結果を表示できます. ただし、用語の部分に問題があります。ユーザーは、リストを利用できるようにする用語をチェックすることができるため、これもシリアル化された配列に保存されます。レールを使用するか、どうすればよいですか

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

基本的に、ユーザーが優先する用語がリストの用語と少なくとも1つ重複しているリストを返すようにします。

つまり、リストに夏のセッション 1 と冬の条件があり、ユーザーが夏のセッション 1 と春を選択した場合、そのリストが返されます。

誰にもアイデアはありますか??

4

1 に答える 1

0

これはあなたが探しているものです:

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

またはあなたはただすることができます:

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