質問編集履歴

3

情報の追加

2020/02/02 10:46

投稿

hidayoshi231
hidayoshi231

スコア6

test CHANGED
File without changes
test CHANGED
@@ -160,6 +160,10 @@
160
160
 
161
161
 
162
162
 
163
+ 画像の管理はcarrierwaveとmini_magickを使用しています。
164
+
165
+
166
+
163
167
  デバッグしたところ、```if @imagepost.save```の部分に問題があることがわかり色々試したのですが、解決しません。
164
168
 
165
169
 
@@ -196,6 +200,10 @@
196
200
 
197
201
  Rails5.1.6
198
202
 
203
+ carrierwave
204
+
205
+ mini_magick
206
+
199
207
 
200
208
 
201
209
  ###createを実行するview側のファイル

2

ギットハブのリンクを追加しました

2020/02/02 10:46

投稿

hidayoshi231
hidayoshi231

スコア6

test CHANGED
File without changes
test CHANGED
@@ -271,3 +271,15 @@
271
271
  </script>
272
272
 
273
273
  ```
274
+
275
+
276
+
277
+ ###2020/02/02追記
278
+
279
+
280
+
281
+ 現在エラーがでているアプリはGithubで管理しています。 ここにコードを片っ端から貼るよりも、リンクを貼ったほうが早いと判断しました。
282
+
283
+
284
+
285
+ [現在制作中のアプリのレポジトリ](https://github.com/hidayoshi/Instravel)

1

ファイルを追加しました

2020/02/02 10:43

投稿

hidayoshi231
hidayoshi231

スコア6

test CHANGED
File without changes
test CHANGED
@@ -96,7 +96,7 @@
96
96
 
97
97
 
98
98
 
99
- このコードを実行すると
99
+ このコードを実行し、フォームに文字を入力した状態で新しい投稿を作成しようとすると
100
100
 
101
101
 
102
102
 
@@ -106,6 +106,52 @@
106
106
 
107
107
  can't write unknown attribute `avatar`
108
108
 
109
+ Extracted source (around line #11):
110
+
111
+
112
+
113
+ 9 def create
114
+
115
+ 10 @imagepost = current_user.imageposts.build(imagepost_params)
116
+
117
+ 11 if @imagepost.save
118
+
119
+ 12 flash[:success] = 'Imagepost created!'
120
+
121
+ 13 redirect_to root_url
122
+
123
+ 14 else
124
+
125
+
126
+
127
+ Rails.root: /Users/Toshiki/Desktop/portfolio/instravel
128
+
129
+
130
+
131
+ Application Trace | Framework Trace | Full Trace
132
+
133
+ app/controllers/imageposts_controller.rb:11:in `create'
134
+
135
+ Request
136
+
137
+ Parameters:
138
+
139
+
140
+
141
+ {"utf8"=>"✓", "authenticity_token"=>"DaWd/yEYD6uQGppfdGgW99PSyqcKgxDkWQOVlcW+ZX4CU/cs3g/N52uGuK0cm3rJDAj7DTnPs4Ipt5Q7ZiBoEQ==", "imagepost"=>{"content"=>"a"}, "commit"=>"Post"}
142
+
143
+ Toggle session dump
144
+
145
+ Toggle env dump
146
+
147
+ Response
148
+
149
+ Headers:
150
+
151
+
152
+
153
+ None
154
+
109
155
  ```
110
156
 
111
157
 
@@ -130,7 +176,17 @@
130
176
 
131
177
  ### 試したこと
132
178
 
179
+
180
+
181
+ ```
182
+
183
+ attr_accessor :avatar
184
+
185
+ ```
186
+
133
- ``` attr_accessor :avatar```で属性を与えてみたがダメだった。
187
+ でImagepostコントローラーに属性を与えてみたがダメだった。
188
+
189
+
134
190
 
135
191
 
136
192
 
@@ -139,3 +195,79 @@
139
195
 
140
196
 
141
197
  Rails5.1.6
198
+
199
+
200
+
201
+ ###createを実行するview側のファイル
202
+
203
+
204
+
205
+ form_withで送信します。
206
+
207
+
208
+
209
+
210
+
211
+ ```_imagepost_form.html.erb
212
+
213
+ <%= form_with model: @imagepost, local: true do |f| %>
214
+
215
+ <div class="card mb-3">
216
+
217
+ <div class="card-header">
218
+
219
+ <span class="font-weight-bold">
220
+
221
+ HOME
222
+
223
+ </span>
224
+
225
+ </div>
226
+
227
+ <div class="card-body">
228
+
229
+ <p class="card-text">
230
+
231
+ <%= render 'shared/error_messages', object: f.object %>
232
+
233
+ <div class="form-group">
234
+
235
+ <%= f.text_area :content, placeholder: "Compose new imagepost...",
236
+
237
+ class: "form-control w-100" %>
238
+
239
+ </div>
240
+
241
+ <div class="form-group">
242
+
243
+ <%= f.file_field :picture, class: "form-control-file" %>
244
+
245
+ </div>
246
+
247
+ </p>
248
+
249
+ <%= f.submit "Post", class: "btn btn-primary" %>
250
+
251
+ </div>
252
+
253
+ </div>
254
+
255
+ <% end %>
256
+
257
+ <script type="text/javascript">
258
+
259
+ $('#imagepost_picture').bind('change', function() {
260
+
261
+ var size_in_megabytes = this.files[0].size/1024/1024;
262
+
263
+ if (size_in_megabytes > 5) {
264
+
265
+ alert('Maximum file size is 5MB. Please choose a smaller file.');
266
+
267
+ }
268
+
269
+ });
270
+
271
+ </script>
272
+
273
+ ```