質問編集履歴

2

viewのほうものせました。

2016/05/12 01:54

投稿

oshiaki
oshiaki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -126,6 +126,70 @@
126
126
 
127
127
  このエラーが解決できる方法を教えてください。
128
128
 
129
+ index.html.erb
130
+
131
+ ```
132
+
133
+ p>社員番号を入力してください。</p>
134
+
135
+
136
+
137
+ <%= form_tag :news_members, method: :get do %>
138
+
139
+ <p><%= text_field_tag "q",params[:q]%>
140
+
141
+ <%= submit_tag "新規作成"%>
142
+
143
+ <%= submit_tag "変更", :name =>'edits'%>
144
+
145
+ <%= submit_tag "削除", :name =>'destroy'%></p>
146
+
147
+ <% end %>
148
+
149
+ ```
150
+
151
+
152
+
153
+ edits.html.erb
154
+
155
+ ```
156
+
157
+ % @page_title = "ユニティ・ソフト社員マスタメンテ" %>
158
+
159
+ <h1><%= @page_title %></h1>
160
+
161
+
162
+
163
+ <% @page_title2 = "変更画面"%>
164
+
165
+ <h2><%= @page_title2 %></h2>
166
+
167
+
168
+
169
+ <%= form_for @member, :url => {:action => 'update'} do |form| %>
170
+
171
+ <table class="attr">
172
+
173
+ <tr>
174
+
175
+ <th><%= form.label :member_id, "社員番号"%></th>
176
+
177
+ <td><%= form.text_field :member_id %></td>
178
+
179
+ </tr>
180
+
181
+ ~中略~
182
+
183
+ </table>
184
+
185
+ <p><%= form.submit %></p>
186
+
187
+ <% end %>
188
+
189
+
190
+
191
+ ```
192
+
129
193
 
130
194
 
131
195
  情報が足りなければご指摘ください。

1

エラーの内容とcontrollerの全体像を貼り付けました。コードの記述が指摘された記法でないことをお許しください。

2016/05/12 01:53

投稿

oshiaki
oshiaki

スコア17

test CHANGED
File without changes
test CHANGED
@@ -8,16 +8,124 @@
8
8
 
9
9
  controllerで受け取った値を変数に代入しfind_byで検索したいのですがうまくいきません。
10
10
 
11
+ ArgumentError in Members#edits
11
12
 
13
+ First argument in form cannot contain nil or be empty
14
+
15
+ というエラーがでます。
16
+
17
+
18
+
19
+ controller現段階の全体図
20
+
21
+ ```
22
+
23
+ class MembersController < ApplicationController
24
+
25
+ def index
26
+
27
+
28
+
29
+ end
30
+
31
+ def news
32
+
33
+ if params[:edits]
34
+
35
+ redirect_to action: "edits"
36
+
37
+ elsif params[:delete]
38
+
39
+ redirect_to action: "destroy"
40
+
41
+ else
42
+
43
+ @member =Member.new
44
+
45
+ @member.member_id = params[:q]
46
+
47
+ end
48
+
49
+ end
50
+
51
+
52
+
53
+ def edits
54
+
55
+ @umember_id = params[:q]
56
+
57
+ @member = Member.find_by(member_id: @umember_id)
58
+
59
+ end
60
+
61
+
62
+
63
+ def create
64
+
65
+ @member = Member.new(params[:member])
66
+
67
+ if @member.save
68
+
69
+ redirect_to :action => "index", notice: "社員を登録しました。"
70
+
71
+
72
+
73
+ end
74
+
75
+ end
76
+
77
+
78
+
79
+ def update
80
+
81
+ @member = Member.find_by(member_id = params[member_id])
82
+
83
+ @member.assign_attributes(params[:member])
84
+
85
+ if @member.save
86
+
87
+ redirect_to :action => "index", notice: "社員を登録しました。"
88
+
89
+ end
90
+
91
+ end
92
+
93
+
94
+
95
+ def destroy
96
+
97
+
98
+
99
+ end
100
+
101
+ end
102
+
103
+
104
+
105
+ ```
106
+
107
+ このdef editsの中の動きなんですが
108
+
109
+ ```
12
110
 
13
111
  def edits
14
112
 
15
113
  @umember_id = params[:q]
16
114
 
17
- @member = Member.find_by(member_id: @umember_id)
115
+ @member = Member.find_by(member_id: 'sample')
18
116
 
19
- end
117
+ end
118
+
119
+ ```
120
+
121
+ find_byの中身をべた書きすると検索できます。
122
+
123
+ params[:q]の値もdef newのほうでは動いているので渡っているとは思うのですが。。。
20
124
 
21
125
 
22
126
 
23
- イメージではこのような感じす。よろしお願します
127
+ このエラーが解決きる方法を教えてださい。
128
+
129
+
130
+
131
+ 情報が足りなければご指摘ください。