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

質問編集履歴

2

誤字 ✖️それぞれの投稿ページへの詳細 → ○それぞれの投稿の編集ページへのリンク

2020/09/02 22:54

投稿

T-Takanori
T-Takanori

スコア2

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  railsでアウトラインに沿って簡単なブログを作る練習をしていたところ、エラーが出てしまいました。
5
5
  エラーが出た場面としては、
6
- ブログの記事一覧のページから、それぞれの投稿詳細ページへのリンクを押すと、以下のエラーが表示されます。
6
+ ブログの記事一覧のページから、それぞれの投稿の編集ページへのリンクを押すと、以下のエラーが表示されます。
7
7
  ### 発生している問題・エラーメッセージ
8
8
  ![イメージ説明](ed50c8765bbcf0a18bb5284dceb21f9a.png)
9
9
 

1

コントローラーのコードがを記載していなかったため、更新いたしました。

2020/09/02 22:53

投稿

T-Takanori
T-Takanori

スコア2

title CHANGED
File without changes
body CHANGED
@@ -92,4 +92,72 @@
92
92
 
93
93
  railsの学習を始めたばかりでございます。30分自分なりに考え、検索しましたが、エラーが直らなかったため、質問させていただきました。
94
94
  知識不足で大変恐縮ですが、是非問題を解決して前に進みたいと考えております。
95
- ご教授のほど頂けると幸いです。
95
+ ご教授のほど頂けると幸いです。
96
+
97
+ ###追記
98
+ 大変失礼いたしました。コントローラーのコードがこちらになります。
99
+ ```
100
+ class ArticlesController < ApplicationController
101
+ # 記事の一覧表示
102
+ def index
103
+ @articles = Article.all
104
+ end
105
+
106
+ # 記事の表示
107
+ def show
108
+ @article = Article.find(params[:id])
109
+ end
110
+
111
+ # 記事の作成
112
+ def new
113
+ @article = Article.new
114
+ end
115
+
116
+ # 記事の登録
117
+ def create
118
+ # articleモデルの属性の初期化
119
+ @article = Article.new(article_params)
120
+
121
+ # articleモデルをDBへ保存
122
+ if @article.save
123
+
124
+ # showアクションにリダイレクト
125
+ redirect_to @article
126
+
127
+ else #作成ページに移動する
128
+ render "new"
129
+ end
130
+ end
131
+
132
+ # コントローラパラメータの定義
133
+ private
134
+ def article_params
135
+ params.require(:article).permit(:title, :text)
136
+ end
137
+
138
+ def edit
139
+ @article = Article.find(params[:id])
140
+ end
141
+
142
+ # 記事の更新
143
+ def update
144
+ @article = Article.find(params[:id])
145
+
146
+ # DBに登録できた場合
147
+ if @article.update(article_params)
148
+ # 記事ページに遷移する
149
+ redirect_to @article
150
+ # DBに登録できなかった場合
151
+ else
152
+ # 編集ページに遷移する
153
+ render 'edit'
154
+ end
155
+
156
+
157
+ end
158
+
159
+ # 記事の削除
160
+ def destroy
161
+ end
162
+ end
163
+ ```