質問するログイン新規登録

質問編集履歴

1

書式の改善

2020/08/14 01:49

投稿

suirunakamura
suirunakamura

スコア16

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
+ ```