質問編集履歴

2

エラー画像追加

2017/11/10 00:01

投稿

innjera
innjera

スコア132

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

質問刷新

2017/11/10 00:01

投稿

innjera
innjera

スコア132

test CHANGED
@@ -1 +1 @@
1
- Rails : 特定のmodeldestroyできない
1
+ Rails : ForeignKeyViolationがdependent destroyで解決できない
test CHANGED
@@ -1,24 +1,10 @@
1
1
  Ruby on railsで開発しています。
2
2
 
3
- `Lesson` modelの`destroy`に関し、`development`では問題なく`destroy`ます。
3
+ `Lesson` `User``Message`の3つのmodelが以下の通り多対多の関連付け結びついでいます。
4
4
 
5
- また`production`でも基本`destroy`できいるのですがある1つの`Lesson`のみ`destroy`できず困っています。`log`で原因がありそうな箇所は以下の通りなのですが原因がわからず、解決の糸口のヒントを頂きたく宜しくお願い致します。
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 :lesson_images, dependent: :destroy
15
+ has_many :messages, dependent: :destroy
30
16
 
31
- accepts_nested_attributes_for :lesson_images, allow_destroy: true
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 Part < ApplicationRecord
23
+ class Message < ApplicationRecord
58
24
 
59
- has_and_belongs_to_many :lessons
25
+ belongs_to :user
60
26
 
61
- has_and_belongs_to_many :advisers
27
+ belongs_to :lesson
62
28
 
63
29
  end
64
30
 
65
31
 
66
32
 
67
- class Situation < ApplicationRecord
33
+ class User < ApplicationRecord
68
34
 
69
- has_and_belongs_to_many :lessons
35
+ has_many :messages, dependent: :destroy
70
36
 
71
- has_and_belongs_to_many :advisers
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
+ ```