質問編集履歴
2
エラー画像追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -50,8 +50,4 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
PG::ForeignKeyViolation: ERROR: update or delete on table "messages" violates foreign key constraint "fk_rails_a907b611e8" on table "messages" DETAIL: Key (id)=(1) is still referenced from table "messages". : DELETE FROM "messages" WHERE "messages"."type" IN ('ApplicantMessage') AND "messages"."id" = $1
|
56
|
-
|
57
|
-
```
|
53
|
+
![イメージ説明](b52c8e70231804b66cfbb74ab71d68f9.png)
|
1
質問刷新
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Rails :
|
1
|
+
Rails : ForeignKeyViolationがdependent destroyで解決できない
|
test
CHANGED
@@ -1,24 +1,10 @@
|
|
1
1
|
Ruby on railsで開発しています。
|
2
2
|
|
3
|
-
`Lesson`
|
3
|
+
`Lesson` と`User`と`Message`の3つのmodelが以下の通り多対多の関連付けで結びついでいます。
|
4
4
|
|
5
|
-
|
5
|
+
`dependent: :destroy`を入れても、`Lesson`modelを削除できず、解決策をご教示頂きたくお願い致します。
|
6
6
|
|
7
7
|
|
8
|
-
|
9
|
-
```ここに言語を入力
|
10
|
-
|
11
|
-
DEBUG -- : [1ab14e4a-5c4c-466c-82df-3eb2b16011d0] ActsAsTaggableOn::Tagging Load (0.7ms) SELECT "taggings".* FROM "taggings" WHERE "taggings"."taggable_id" = $1 AND "taggings"."taggable_type" = $2 AND "taggings"."context" = $3 [["taggable_id", 46], ["taggable_type", "Lesson"], ["context", "genres"]]
|
12
|
-
|
13
|
-
DEBUG -- : [1ab14e4a-5c4c-466c-82df-3eb2b16011d0] SQL (0.6ms) DELETE FROM "lessons_parts" WHERE "lessons_parts"."lesson_id" = $1 [["lesson_id", 46]]
|
14
|
-
|
15
|
-
DEBUG -- : [1ab14e4a-5c4c-466c-82df-3eb2b16011d0] SQL (0.5ms) DELETE FROM "lessons_situations" WHERE "lessons_situations"."lesson_id" = $1 [["lesson_id", 46]]
|
16
|
-
|
17
|
-
DEBUG -- : [1ab14e4a-5c4c-466c-82df-3eb2b16011d0] SQL (1.1ms) DELETE FROM "lessons" WHERE "lessons"."id" = $1 [["id", 46]]
|
18
|
-
|
19
|
-
DEBUG -- : [1ab14e4a-5c4c-466c-82df-3eb2b16011d0] (0.4ms) ROLLBACK
|
20
|
-
|
21
|
-
```
|
22
8
|
|
23
9
|
`lesson`model及び`association`をしている他の`model`は以下の通りです。
|
24
10
|
|
@@ -26,52 +12,46 @@
|
|
26
12
|
|
27
13
|
class Lesson < ApplicationRecord
|
28
14
|
|
29
|
-
has_many :
|
15
|
+
has_many :messages, dependent: :destroy
|
30
16
|
|
31
|
-
a
|
17
|
+
has_many :applicants, through: :messages, source: :user
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
has_and_belongs_to_many :situations
|
36
|
-
|
37
|
-
accepts_nested_attributes_for :situations, allow_destroy: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
has_and_belongs_to_many :parts
|
42
|
-
|
43
|
-
accepts_nested_attributes_for :parts, allow_destroy: false
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
acts_as_taggable # Alias for acts_as_taggable_on :tags
|
48
|
-
|
49
|
-
acts_as_taggable_on :genres
|
50
|
-
|
51
|
-
|
52
18
|
|
53
19
|
end
|
54
20
|
|
55
21
|
|
56
22
|
|
57
|
-
class
|
23
|
+
class Message < ApplicationRecord
|
58
24
|
|
59
|
-
|
25
|
+
belongs_to :user
|
60
26
|
|
61
|
-
|
27
|
+
belongs_to :lesson
|
62
28
|
|
63
29
|
end
|
64
30
|
|
65
31
|
|
66
32
|
|
67
|
-
class
|
33
|
+
class User < ApplicationRecord
|
68
34
|
|
69
|
-
has_and
|
35
|
+
has_many :messages, dependent: :destroy
|
70
36
|
|
71
|
-
has_and_
|
37
|
+
has_many :applied_lessons, through: :messages, source: :user
|
72
38
|
|
73
39
|
end
|
74
40
|
|
75
41
|
|
76
42
|
|
77
43
|
```
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
エラー
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
PG::ForeignKeyViolation: ERROR: update or delete on table "messages" violates foreign key constraint "fk_rails_a907b611e8" on table "messages" DETAIL: Key (id)=(1) is still referenced from table "messages". : DELETE FROM "messages" WHERE "messages"."type" IN ('ApplicantMessage') AND "messages"."id" = $1
|
56
|
+
|
57
|
+
```
|