質問編集履歴

1

書式の改善

2020/08/12 03:23

投稿

suirunakamura
suirunakamura

スコア16

test CHANGED
File without changes
test CHANGED
@@ -51,3 +51,187 @@
51
51
  このエラー文の解決について知っている方がいればご教授して欲しいです。どうかよろしくお願いします、、
52
52
 
53
53
  今回のようなエラーは見たことがないので、調べてみます。
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ ### 『追記』
62
+
63
+ winterbounさん、maisumakunさんに、form_withをご教示いただきviewのフォームを下記のように変更修正しました。
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+ viewファイル
72
+
73
+ ``` new.html.haml
74
+
75
+ = render partial: 'shared/header'
76
+
77
+ %body
78
+
79
+ .container
80
+
81
+ .row
82
+
83
+ .col-md-8.col-md-offset-2
84
+
85
+ %h2 ブログ記事投稿・編集
86
+
87
+ = form_with local:true, model: @articles do |f|
88
+
89
+ .form-date.form-group
90
+
91
+ .blog-name
92
+
93
+ %label.blog-label 日付
94
+
95
+ = f.date_field :dating, class: "input-time", name: "post_date", size: "20", placeholder: "日付を入力してください", style: "font-weight: bold;"
96
+
97
+ .form-title.form-group
98
+
99
+ .blog-name
100
+
101
+ %label.blog-label タイトル
102
+
103
+ = f.text_field :title, class: "input-title", name: "title", placeholder:"タイトルを入力してください。", style: "font-weight: bold;"
104
+
105
+ .form-letter.form-group
106
+
107
+ .blog-name
108
+
109
+ %label.blog-label 本文
110
+
111
+ = f.text_area :text, class: "input-control", rows: "15", name: "body", placeholder: "本文を入力してください。", style: "font-weight: bold;"
112
+
113
+ .form-input
114
+
115
+ = f.submit class: "btn btn-primary btn-sm", value: "投稿する"
116
+
117
+
118
+
119
+ ```
120
+
121
+
122
+
123
+ postコントローラーファイル
124
+
125
+ ```post_controller.rb
126
+
127
+ class PostController < ApplicationController
128
+
129
+
130
+
131
+ class Post
132
+
133
+ def create
134
+
135
+ # ストロングパラメータから精査されたデータだけをインスタンスに格納
136
+
137
+ @articles = Article.new(blogs_params)
138
+
139
+
140
+
141
+ # インスタンスに保存成功した場合の処理
142
+
143
+ if @articles.save
144
+
145
+ flash[:success] = "ユーザーを登録しました"
146
+
147
+ # redirect_to @articles
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(:articles).permit(:dating, :title, :text)
170
+
171
+ end
172
+
173
+ end
174
+
175
+ end
176
+
177
+ ```
178
+
179
+ routes.rb
180
+
181
+ ```ここに言語を入力
182
+
183
+ Rails.application.routes.draw do
184
+
185
+ # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
186
+
187
+ root to: "top#index"
188
+
189
+ resources :posts
190
+
191
+ end
192
+
193
+ ```
194
+
195
+
196
+
197
+ このように変更しました。これで、ブラウザを開くと
198
+
199
+
200
+
201
+ [リンク内容](https://gyazo.com/862adc5a726b4a3004149fd217a49993)
202
+
203
+ ```ここに言語を入力
204
+
205
+ uninitialized constant PostsController Did you mean? PostController TopController
206
+
207
+ ```
208
+
209
+ 上記のエラーが表示。
210
+
211
+ コントローラ名が、post_controller.rbなので、resources postsだと難しそう?
212
+
213
+ resources :postに変えて実行すると、
214
+
215
+
216
+
217
+ フォームが表示され、投稿ボタンまで押せる!
218
+
219
+ しかし、次に下記のようなエラーが表示されました。。
220
+
221
+
222
+
223
+ [リンク内容](https://gyazo.com/c4ee57fa5dbdc5ff859bdd51e533ac0e)
224
+
225
+ ```ここに言語を入力
226
+
227
+ Routing Error
228
+
229
+ No route matches [POST] "/post/new"
230
+
231
+ Rails.root: /Users/apple/create/portfolio
232
+
233
+ ```
234
+
235
+ これは、また昨日からのposts/post宛てになっていない問題なのでしょうか?
236
+
237
+ 知識が浅く申し訳ありません。エラーの確認と返信お願いします。。