質問編集履歴
1
修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Rails : where
|
1
|
+
Rails : where/modelの絞り方
|
body
CHANGED
@@ -8,13 +8,16 @@
|
|
8
8
|
lesson_id: 24 #外部キー
|
9
9
|
body: "申し込みを希望します",
|
10
10
|
```
|
11
|
-
`lesson`は`adviser`が`adviser has_many lessons`として複数所有していて、個別の`lesson`に`message(外部キーとしてlesson_idを持つ)`が関連つけられています。つまりは以下の通り。
|
11
|
+
`lesson`は`adviser`が`adviser has_many lessons`として複数所有していて、個別の`lesson`に`message(外部キーとしてlesson_idを持つ)`が関連つけられています(`lesson has many messages`)。つまりは以下の通り。
|
12
12
|
```ruby
|
13
13
|
#@adviserはたくさんいるadviserの中の1人とします
|
14
14
|
@adviser.lessons.ids => [1, 2, 3, 24]
|
15
15
|
```
|
16
16
|
|
17
|
-
`message`を`index`で表示する際に、
|
17
|
+
`message`をadviserの画面の`index`で表示する際に、上記の例で言えば、`@adviser.lessons.ids`の中に含まれている`lesson`に関連つけられている`message`を全て抜き出す(@message.lesson_idが@adviser.lesson.idsに含まれていれば対象)としたい場合の`message_controller`の`index メソッド`での`where`以下の書き方がわからず、ご教示頂けると助かります。
|
18
|
+
|
19
|
+
つまり、`adviser`が複数所有する`lesson`に対して発せられた`message`全てを取ってきたい、との意図です。
|
20
|
+
|
18
21
|
```ruby
|
19
22
|
def index
|
20
23
|
@user = current_user
|