回答編集履歴

2

コメントで書いた部分を追記

2020/03/30 02:18

投稿

ymneet
ymneet

スコア154

test CHANGED
@@ -11,3 +11,49 @@
11
11
 
12
12
 
13
13
  ID発行してからファイル名を付けたいのであれば、もう一度save投げる感じでしょうか
14
+
15
+
16
+
17
+
18
+
19
+ ```controller
20
+
21
+ def create
22
+
23
+ @post = Post.new(
24
+
25
+ content: params[:content],
26
+
27
+ user_id: @current_user.id
28
+
29
+ )
30
+
31
+
32
+
33
+ if @post.save #DB保存して、@post.id発行
34
+
35
+ if params[:image]
36
+
37
+ @post.post_image_name = "#{@post.id}.jpg"
38
+
39
+ image = params[:image]
40
+
41
+ File.binwrite("public/post_images/#{@post.post_image_name}", image.read)
42
+
43
+ @post.save # ←追加 本来はsaveできなかった処理も考える
44
+
45
+ end
46
+
47
+ flash[:notice] = "投稿を作成しました"
48
+
49
+ redirect_to("/posts/index")
50
+
51
+ else
52
+
53
+ render("posts/new")
54
+
55
+ end
56
+
57
+ end
58
+
59
+ ```

1

追記

2020/03/30 02:18

投稿

ymneet
ymneet

スコア154

test CHANGED
@@ -7,3 +7,7 @@
7
7
  の処理の後にsaveされているかの差です。
8
8
 
9
9
  createではされていませんが、updateではされています!
10
+
11
+
12
+
13
+ ID発行してからファイル名を付けたいのであれば、もう一度save投げる感じでしょうか