回答編集履歴
6
teisei
test
CHANGED
File without changes
|
5
teisei
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
after_save :set_bumon_name
|
28
28
|
|
29
|
-
|
29
|
+
belongs_to :department
|
30
30
|
|
31
31
|
def set_bumon_name
|
32
32
|
|
4
じゃ
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
0. クライアントとサーバーの通信量と回数は少なければ少ないほどいい
|
8
8
|
|
9
|
-
1. サーバー側が部門IDと部門名の紐付けを理解しているので、必要な時に結合すればいい
|
9
|
+
1. サーバー側が部門IDと部門名の紐付けを理解しているので、必要な時に結合すればいい(そもそもそれがRelationalDataBaseという概念)
|
10
10
|
|
11
11
|
2. RelationalDataBaseはできれば正規化(同じ情報を被って保存しない)することが望ましい
|
12
12
|
|
3
あ
test
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
|
31
31
|
def set_bumon_name
|
32
32
|
|
33
|
-
self.dep
|
33
|
+
self.dep_name=self.department.dep_name
|
34
34
|
|
35
35
|
end
|
36
36
|
|
@@ -50,6 +50,6 @@
|
|
50
50
|
|
51
51
|
ですが
|
52
52
|
|
53
|
-
Department.pluck(:name,:id)
|
53
|
+
Department.pluck(:dep_name,:id)
|
54
54
|
|
55
55
|
にすると見た目にも実行速度的にもサイコーです。
|
2
s
test
CHANGED
@@ -26,11 +26,11 @@
|
|
26
26
|
|
27
27
|
after_save :set_bumon_name
|
28
28
|
|
29
|
-
has_many :
|
29
|
+
has_many :departments
|
30
30
|
|
31
31
|
def set_bumon_name
|
32
32
|
|
33
|
-
self.
|
33
|
+
self.department_name=self.department.name
|
34
34
|
|
35
35
|
end
|
36
36
|
|
@@ -39,3 +39,17 @@
|
|
39
39
|
というふうにして、くれぐれも部門名を送る
|
40
40
|
|
41
41
|
ということは考えないでください。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
後
|
48
|
+
|
49
|
+
Department.all.map { |p| [p.dep_name, p.id] }
|
50
|
+
|
51
|
+
ですが
|
52
|
+
|
53
|
+
Department.pluck(:name,:id)
|
54
|
+
|
55
|
+
にすると見た目にも実行速度的にもサイコーです。
|
1
初心者向け注記
test
CHANGED
@@ -9,6 +9,10 @@
|
|
9
9
|
1. サーバー側が部門IDと部門名の紐付けを理解しているので、必要な時に結合すればいい
|
10
10
|
|
11
11
|
2. RelationalDataBaseはできれば正規化(同じ情報を被って保存しない)することが望ましい
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
つまり社員モデルが部門名を持っているということが設計上の間違いなのです。
|
12
16
|
|
13
17
|
|
14
18
|
|