回答編集履歴
2
追記
answer
CHANGED
@@ -10,4 +10,7 @@
|
|
10
10
|
`tag_ids = params[:q]からidのlistを得る
|
11
11
|
schools.select{|school| (school.tags.map(&:id) & tag_ids)==tag_ids}
|
12
12
|
`で選ぶ
|
13
|
-
ただしこの方法ですと、ページングを行うのが厄介になります
|
13
|
+
ただしこの方法ですと、ページングを行うのが厄介になります
|
14
|
+
|
15
|
+
及び、
|
16
|
+
schoolの結果が Array になりリレーションではなくなるので、この後リレーションとしての使い方はできません
|
1
追記
answer
CHANGED
@@ -1,2 +1,13 @@
|
|
1
1
|
all ですか? or の間違いでは?
|
2
|
-
allですと「全てに該当する」ですから。
|
2
|
+
allですと「全てに該当する」ですから。
|
3
|
+
|
4
|
+
追記
|
5
|
+
もしかしたらSQLの達人が回答くれるかもと待ってましたが無いようなので、、、
|
6
|
+
|
7
|
+
私の力ですと一回で選び出す方法は思いつきません。
|
8
|
+
まず _or で 片方しかないものも含んだ schools を得、
|
9
|
+
そのあとで
|
10
|
+
`tag_ids = params[:q]からidのlistを得る
|
11
|
+
schools.select{|school| (school.tags.map(&:id) & tag_ids)==tag_ids}
|
12
|
+
`で選ぶ
|
13
|
+
ただしこの方法ですと、ページングを行うのが厄介になります
|