質問編集履歴

3

説明補足

2017/03/14 07:37

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,17 @@
1
+ 社員の新規登録時に、同じ画面で
2
+
3
+ 資格も複数行登録したいです。
4
+
5
+
6
+
7
+ 親:社員
8
+
9
+ 子:資格
10
+
11
+
12
+
13
+
14
+
1
15
  色々と参考にしながら、accepts_nested_attributes_forを使い
2
16
 
3
17
  親子関係のモデルを同時に登録するところまで出来ました。
@@ -24,27 +38,17 @@
24
38
 
25
39
 
26
40
 
41
+ 今回の場合ですと、
42
+
43
+ viewで入力された社員名(emp_name)を
44
+
45
+ 子のemp_nameにもセットして登録したいです。
46
+
27
47
 
28
48
 
29
49
  宜しくお願い致します。
30
50
 
31
51
 
32
-
33
- 親:社員
34
-
35
- 子:資格
36
-
37
-
38
-
39
- 社員の新規登録時に、同じ画面で
40
-
41
- 資格も複数行登録したいです。
42
-
43
-
44
-
45
- viewで入力された社員名(emp_name)を
46
-
47
- 子のemp_nameにもセットして登録したいです。
48
52
 
49
53
 
50
54
 

2

2017/03/14 07:37

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -33,6 +33,18 @@
33
33
  親:社員
34
34
 
35
35
  子:資格
36
+
37
+
38
+
39
+ 社員の新規登録時に、同じ画面で
40
+
41
+ 資格も複数行登録したいです。
42
+
43
+
44
+
45
+ viewで入力された社員名(emp_name)を
46
+
47
+ 子のemp_nameにもセットして登録したいです。
36
48
 
37
49
 
38
50
 

1

ソース追加

2017/03/14 07:34

投稿

pecchan
pecchan

スコア555

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,121 @@
27
27
 
28
28
 
29
29
  宜しくお願い致します。
30
+
31
+
32
+
33
+ 親:社員
34
+
35
+ 子:資格
36
+
37
+
38
+
39
+
40
+
41
+ 社員モデル
42
+
43
+ ```ruby
44
+
45
+ class Employee < ApplicationRecord
46
+
47
+
48
+
49
+ has_many :license, dependent: :delete_all
50
+
51
+
52
+
53
+ accepts_nested_attributes_for :license, allow_destroy: true
54
+
55
+
56
+
57
+ validates :emp_name, presence: true
58
+
59
+ end
60
+
61
+
62
+
63
+ ```
64
+
65
+
66
+
67
+
68
+
69
+ 社員コントローラ
70
+
71
+ ```ruby
72
+
73
+ class EmployeesController < ApplicationController
74
+
75
+ before_action :set_employee, only: [:show, :edit, :update, :destroy]
76
+
77
+
78
+
79
+ # POST /employees
80
+
81
+ # POST /employees.json
82
+
83
+ def create
84
+
85
+ @employee = Employee.new(employee_params)
86
+
87
+
88
+
89
+
90
+
91
+ respond_to do |format|
92
+
93
+ if @employee.save
94
+
95
+ format.html { redirect_to @employee, notice: 'Employee was successfully created.' }
96
+
97
+ format.json { render :show, status: :created, location: @employee }
98
+
99
+ else
100
+
101
+ format.html { render :new }
102
+
103
+ format.json { render json: @employee.errors, status: :unprocessable_entity }
104
+
105
+ end
106
+
107
+ end
108
+
109
+ end
110
+
111
+
112
+
113
+
114
+
115
+ private
116
+
117
+ # Use callbacks to share common setup or constraints between actions.
118
+
119
+ def set_employee
120
+
121
+ @employee = Employee.find(params[:id])
122
+
123
+ end
124
+
125
+
126
+
127
+ # Never trust parameters from the scary internet, only allow the white list through.
128
+
129
+ def employee_params
130
+
131
+ params.require(:employee).permit(
132
+
133
+ :emp_code,
134
+
135
+ :emp_name,
136
+
137
+ :retire_date,
138
+
139
+ lisence_attributes:[:id, :emp_code, :emp_name, :_destroy])
140
+
141
+ end
142
+
143
+ end
144
+
145
+
146
+
147
+ ```