質問編集履歴

1

書式の改善

2020/08/14 01:49

投稿

suirunakamura
suirunakamura

スコア16

test CHANGED
File without changes
test CHANGED
@@ -20,4 +20,176 @@
20
20
 
21
21
  ```
22
22
 
23
- これは、ルーティングのエラーで、本来は、POSTメソッドでなきゃいけないものを、GETメソッドになっていてデータが送れない?というエラーだと仮説しています。ここの
23
+ これは、ルーティングのエラーで、本来は、POSTメソッドでなきゃいけないものを、GETメソッドになっていてデータが送れない?というエラーだと仮説しています。
24
+
25
+
26
+
27
+ ### 『追記です』
28
+
29
+
30
+
31
+ コントローラーファイルとフォームページのviewファイルとルーティングファイルを載せました。posts_controller.rbファイルの中の記述で、newアクションとcreateアクションで同じ記述をしていますが、これはどちらでコードが動いているのか確認していました。今後修正していきます。今回のエラーは、フォームを作成中に起きたので原因はこの三つのファイルかなと思っています。ファイルの確認をどうかよろしくお願いします。。
32
+
33
+
34
+
35
+ ### 『追記です』
36
+
37
+
38
+
39
+ posts/new.html.haml
40
+
41
+ ```ここに言語を入力
42
+
43
+ = render partial: 'shared/header'
44
+
45
+ %body
46
+
47
+ .container
48
+
49
+ .row
50
+
51
+ .col-md-8.col-md-offset-2
52
+
53
+ %h2 ブログ記事投稿・編集
54
+
55
+ = form_with local:true, model: @article do |f|
56
+
57
+ .form-date.form-group
58
+
59
+ .blog-name
60
+
61
+ %label.blog-label 日付
62
+
63
+ = f.date_field :dating, class: "input-time", name: "post_date", size: "20", placeholder: "日付を入力してください", style: "font-weight: bold;"
64
+
65
+ .form-title.form-group
66
+
67
+ .blog-name
68
+
69
+ %label.blog-label タイトル
70
+
71
+ = f.text_field :title, class: "input-title", name: "title", placeholder:"タイトルを入力してください。", style: "font-weight: bold;"
72
+
73
+ .form-letter.form-group
74
+
75
+ .blog-name
76
+
77
+ %label.blog-label 本文
78
+
79
+ = f.text_area :text, class: "input-control", rows: "15", name: "body", placeholder: "本文を入力してください。", style: "font-weight: bold;"
80
+
81
+ .form-input
82
+
83
+ = f.submit class: "btn btn-primary btn-sm", value: "投稿する"
84
+
85
+ ```
86
+
87
+
88
+
89
+
90
+
91
+ posts_controller.rb
92
+
93
+ ```ここに言語を入力
94
+
95
+ class PostsController < ApplicationController
96
+
97
+
98
+
99
+ class Posts
100
+
101
+
102
+
103
+ def new
104
+
105
+ @article = Article.new(blogs_params)
106
+
107
+
108
+
109
+ # インスタンスに保存成功した場合の処理
110
+
111
+ if @article.save
112
+
113
+ flash[:success] = "ユーザーを登録しました"
114
+
115
+ redirect_to @article
116
+
117
+
118
+
119
+ # インスタンスの保存に失敗した場合の処理
120
+
121
+ else
122
+
123
+ flash[:danger] = "ユーザーの登録に失敗しました"
124
+
125
+ render :new
126
+
127
+ end
128
+
129
+ end
130
+
131
+
132
+
133
+ def create
134
+
135
+ # ストロングパラメータから精査されたデータだけをインスタンスに格納
136
+
137
+ @article = Article.new(blogs_params)
138
+
139
+
140
+
141
+ # インスタンスに保存成功した場合の処理
142
+
143
+ if @article.save
144
+
145
+ flash[:success] = "ユーザーを登録しました"
146
+
147
+ redirect_to @article
148
+
149
+
150
+
151
+ # インスタンスの保存に失敗した場合の処理
152
+
153
+ else
154
+
155
+ flash[:danger] = "ユーザーの登録に失敗しました"
156
+
157
+ render :new
158
+
159
+ end
160
+
161
+ end
162
+
163
+
164
+
165
+ private
166
+
167
+ def blogs_params
168
+
169
+ params.require(:article).permit(:dating, :title, :text)
170
+
171
+ end
172
+
173
+ end
174
+
175
+ end
176
+
177
+ ```
178
+
179
+
180
+
181
+ routes.rb
182
+
183
+ ```ここに言語を入力
184
+
185
+ Rails.application.routes.draw do
186
+
187
+ # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
188
+
189
+ root to: "top#index"
190
+
191
+ resources :posts
192
+
193
+ end
194
+
195
+ ```