質問編集履歴
1
書式の改善
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,4 +9,90 @@
|
|
9
9
|
Routes
|
10
10
|
Routes match in priority from top to bottom
|
11
11
|
```
|
12
|
-
これは、ルーティングのエラーで、本来は、POSTメソッドでなきゃいけないものを、GETメソッドになっていてデータが送れない?というエラーだと仮説しています。
|
12
|
+
これは、ルーティングのエラーで、本来は、POSTメソッドでなきゃいけないものを、GETメソッドになっていてデータが送れない?というエラーだと仮説しています。
|
13
|
+
|
14
|
+
### 『追記です』
|
15
|
+
|
16
|
+
コントローラーファイルとフォームページのviewファイルとルーティングファイルを載せました。posts_controller.rbファイルの中の記述で、newアクションとcreateアクションで同じ記述をしていますが、これはどちらでコードが動いているのか確認していました。今後修正していきます。今回のエラーは、フォームを作成中に起きたので原因はこの三つのファイルかなと思っています。ファイルの確認をどうかよろしくお願いします。。
|
17
|
+
|
18
|
+
### 『追記です』
|
19
|
+
|
20
|
+
posts/new.html.haml
|
21
|
+
```ここに言語を入力
|
22
|
+
= render partial: 'shared/header'
|
23
|
+
%body
|
24
|
+
.container
|
25
|
+
.row
|
26
|
+
.col-md-8.col-md-offset-2
|
27
|
+
%h2 ブログ記事投稿・編集
|
28
|
+
= form_with local:true, model: @article do |f|
|
29
|
+
.form-date.form-group
|
30
|
+
.blog-name
|
31
|
+
%label.blog-label 日付
|
32
|
+
= f.date_field :dating, class: "input-time", name: "post_date", size: "20", placeholder: "日付を入力してください", style: "font-weight: bold;"
|
33
|
+
.form-title.form-group
|
34
|
+
.blog-name
|
35
|
+
%label.blog-label タイトル
|
36
|
+
= f.text_field :title, class: "input-title", name: "title", placeholder:"タイトルを入力してください。", style: "font-weight: bold;"
|
37
|
+
.form-letter.form-group
|
38
|
+
.blog-name
|
39
|
+
%label.blog-label 本文
|
40
|
+
= f.text_area :text, class: "input-control", rows: "15", name: "body", placeholder: "本文を入力してください。", style: "font-weight: bold;"
|
41
|
+
.form-input
|
42
|
+
= f.submit class: "btn btn-primary btn-sm", value: "投稿する"
|
43
|
+
```
|
44
|
+
|
45
|
+
|
46
|
+
posts_controller.rb
|
47
|
+
```ここに言語を入力
|
48
|
+
class PostsController < ApplicationController
|
49
|
+
|
50
|
+
class Posts
|
51
|
+
|
52
|
+
def new
|
53
|
+
@article = Article.new(blogs_params)
|
54
|
+
|
55
|
+
# インスタンスに保存成功した場合の処理
|
56
|
+
if @article.save
|
57
|
+
flash[:success] = "ユーザーを登録しました"
|
58
|
+
redirect_to @article
|
59
|
+
|
60
|
+
# インスタンスの保存に失敗した場合の処理
|
61
|
+
else
|
62
|
+
flash[:danger] = "ユーザーの登録に失敗しました"
|
63
|
+
render :new
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def create
|
68
|
+
# ストロングパラメータから精査されたデータだけをインスタンスに格納
|
69
|
+
@article = Article.new(blogs_params)
|
70
|
+
|
71
|
+
# インスタンスに保存成功した場合の処理
|
72
|
+
if @article.save
|
73
|
+
flash[:success] = "ユーザーを登録しました"
|
74
|
+
redirect_to @article
|
75
|
+
|
76
|
+
# インスタンスの保存に失敗した場合の処理
|
77
|
+
else
|
78
|
+
flash[:danger] = "ユーザーの登録に失敗しました"
|
79
|
+
render :new
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
private
|
84
|
+
def blogs_params
|
85
|
+
params.require(:article).permit(:dating, :title, :text)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
```
|
90
|
+
|
91
|
+
routes.rb
|
92
|
+
```ここに言語を入力
|
93
|
+
Rails.application.routes.draw do
|
94
|
+
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
|
95
|
+
root to: "top#index"
|
96
|
+
resources :posts
|
97
|
+
end
|
98
|
+
```
|