回答編集履歴

6

teisei

2017/03/08 10:34

投稿

moke
moke

スコア2241

test CHANGED
File without changes

5

teisei

2017/03/08 10:34

投稿

moke
moke

スコア2241

test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  after_save :set_bumon_name
28
28
 
29
- has_many :departments
29
+ belongs_to :department
30
30
 
31
31
  def set_bumon_name
32
32
 

4

じゃ

2017/03/08 10:34

投稿

moke
moke

スコア2241

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

2017/03/08 10:32

投稿

moke
moke

スコア2241

test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  def set_bumon_name
32
32
 
33
- self.department_name=self.department.name
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

2017/03/08 10:27

投稿

moke
moke

スコア2241

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.部門名=self.部門.name
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

初心者向け注記

2017/03/08 10:24

投稿

moke
moke

スコア2241

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