質問編集履歴
2
誤字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -115,11 +115,10 @@
|
|
115
115
|
def contact_params
|
116
116
|
params.permit(:name, :email, :subject, :message)
|
117
117
|
end
|
118
|
-
```
|
118
|
+
```
|
119
|
+
|
119
120
|
に変えてみるとエラーはでないものの、create画面が表示されずに、
|
120
121
|
`入力に不備があります。`と表示される状態です。
|
121
122
|
|
122
123
|
|
123
|
-
②リダイレクト先を`redirect_to contact_mails_path(@contact)`に変更
|
124
|
-
|
125
124
|
どこが原因なのかでしょうか。。。
|
1
ActionController::ParameterMissing in ContactMailsController#create エラーをまず解決したいため
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
createで
|
1
|
+
ActionController::ParameterMissing in ContactMailsController#create エラーがでる
|
body
CHANGED
@@ -1,16 +1,12 @@
|
|
1
1
|
### 実現させたいこと
|
2
|
-
|
2
|
+
ActionController::ParameterMissing in ContactMailsController#createエラーを解決して`create`画面を表示させたい
|
3
3
|
|
4
|
-
### 現在の状況
|
5
|
-
|
4
|
+
プログラミング初心者で、基礎的な部分なのかと思いお恥ずかしいのですが、ご教示頂きたいです。
|
6
|
-
new.html.erbでnewでお問い合わせ内容を送信しています。
|
7
|
-
show.html.erbで完了画面を表示させています。
|
8
5
|
|
9
|
-
Rails wayにしたがってcreateで完了画面を表示させたいと思っています。
|
10
|
-
|
11
6
|
【routes.rb】
|
12
7
|
```
|
13
|
-
resources :contact_mails
|
8
|
+
resources :contact_mails, only: [:new, :create]
|
9
|
+
get '/contact_mails', to: 'contact_mails#create'
|
14
10
|
```
|
15
11
|
|
16
12
|
【contact_mails_controller.rb】
|
@@ -26,16 +22,12 @@
|
|
26
22
|
@contact = ContactMail.new(contact_params)
|
27
23
|
if @contact.save
|
28
24
|
ContactMailer.contact_mail(@contact).deliver
|
29
|
-
redirect_to
|
25
|
+
redirect_to contact_mails_path(@contact), notice: "お問い合わせを受け付けました。"
|
30
26
|
else
|
31
27
|
redirect_to new_contact_mail_path, alert: "入力に不備があります。"
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
35
|
-
def show
|
36
|
-
@contact = ContactMail.find(params[:id])
|
37
|
-
end
|
38
|
-
|
39
31
|
private
|
40
32
|
|
41
33
|
def contact_params
|
@@ -49,7 +41,7 @@
|
|
49
41
|
<section id="contact_mails">
|
50
42
|
<h5>お問い合わせフォーム</h5><br><br>
|
51
43
|
|
52
|
-
<%= form_with model: @contact do |f| %>
|
44
|
+
<%= form_with model: @contact, url: contact_mails_path, html: {method: :post} do |f| %>
|
53
45
|
<form>
|
54
46
|
<div class="form-group">
|
55
47
|
<label>お名前 <span class="label label-danger">必須</span></label>
|
@@ -87,7 +79,7 @@
|
|
87
79
|
</section>
|
88
80
|
```
|
89
81
|
|
90
|
-
【
|
82
|
+
【create.html.erb】
|
91
83
|
```
|
92
84
|
<section id="contact_mails">
|
93
85
|
<h5>問い合わせ完了画面</h5><br>
|
@@ -107,27 +99,27 @@
|
|
107
99
|
<%= @contact.message %>
|
108
100
|
<br><br>
|
109
101
|
【返信先】<br>
|
110
|
-
<%= @contact.email
|
102
|
+
<%= @contact.email<br>
|
111
103
|
<br>
|
112
104
|
------------------------------------------------
|
113
|
-
</p>
|
105
|
+
</p> %>
|
114
106
|
|
115
107
|
</section>
|
116
108
|
```
|
117
109
|
|
110
|
+
|
118
111
|
### 行ったこと
|
119
112
|
|
113
|
+
コントローラの`contact_params`内を
|
114
|
+
```
|
115
|
+
def contact_params
|
116
|
+
params.permit(:name, :email, :subject, :message)
|
117
|
+
end
|
118
|
+
````
|
120
|
-
|
119
|
+
に変えてみるとエラーはでないものの、create画面が表示されずに、
|
121
|
-
|
120
|
+
`入力に不備があります。`と表示される状態です。
|
122
121
|
|
123
|
-
①と②を行うと
|
124
|
-
`Unknown action`
|
125
|
-
`The action 'index' could not be found for ContactMailsController`
|
126
|
-
と出てしまいます。
|
127
122
|
|
123
|
+
②リダイレクト先を`redirect_to contact_mails_path(@contact)`に変更
|
128
124
|
|
129
|
-
|
125
|
+
どこが原因なのかでしょうか。。。
|
130
|
-
|
131
|
-
また、「Rails wayにしたがって」という部分は参考書のことなのでしょうか?
|
132
|
-
|
133
|
-
プログラミング初心者で、基礎的な部分なのかと思いお恥ずかしいのですが、ご教示頂きたいです。
|