質問編集履歴

2

edit.html.erbを変更

2020/05/07 09:56

投稿

Salix_Hiroki
Salix_Hiroki

スコア2

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,10 @@
23
23
  def edit
24
24
 
25
25
  @recipe = Recipe.find_by(id: params[:id])
26
+
27
+ @material = Material.where(user_id: @recipe.user_id, recipe_id: @recipe.id)
28
+
29
+ @cookmethod = Cookmethod.where(user_id: @recipe.user_id, recipe_id: @recipe.id)
26
30
 
27
31
  end
28
32
 

1

コード追加、タイトル変更、確認したこと追加

2020/05/07 09:56

投稿

Salix_Hiroki
Salix_Hiroki

スコア2

test CHANGED
@@ -1 +1 @@
1
- 編集面で画リンク表示されない
1
+ 更新後、画像が保存されなくて困ってます
test CHANGED
@@ -4,17 +4,21 @@
4
4
 
5
5
  ##実現したいこと
6
6
 
7
- 編集画像を表示させたい
7
+ 更新しても像が保存きるようにしたいです。
8
8
 
9
9
 
10
10
 
11
11
  #状況
12
12
 
13
+ 更新後画像が保存されないです。
14
+
13
- 編集画面で 保存された画像を表示したいのですが、「選択してください」いう状態になっています。
15
+ mysqlはNullとなっています。
14
16
 
15
17
 
16
18
 
17
19
  ```Ruby
20
+
21
+ recipes_controller.rb
18
22
 
19
23
  def edit
20
24
 
@@ -28,7 +32,77 @@
28
32
 
29
33
  ```Ruby
30
34
 
35
+ def update
36
+
37
+ @recipe = Recipe.find_by(id: params[:id])
38
+
39
+ @update_user_id = @recipe.user_id
40
+
41
+ @material = Material.where(user_id: @update_user_id, recipe_id: params[:id])
42
+
43
+ @cookmethod = Cookmethod.where(user_id: @update_user_id, recipe_id: params[:id])
44
+
45
+ @recipe_cnt = 0
46
+
47
+ @recipe.update(image: recipe_params[:image])
48
+
49
+
50
+
51
+ if @recipe.update_attributes(title: recipe_params[:title],image: recipe_params[:image], point: recipe_params[:point], impression: recipe_params[:impression])
52
+
53
+ @recipe_cnt += 1
54
+
55
+ end
56
+
57
+ end
58
+
59
+ ```
60
+
61
+
62
+
63
+ ```Ruby
64
+
65
+ image_uploader.rb
66
+
67
+ class ImageUploader < CarrierWave::Uploader::Base
68
+
69
+ # Include RMagick or MiniMagick support:
70
+
71
+ # include CarrierWave::RMagick
72
+
73
+ # include CarrierWave::MiniMagick
74
+
75
+
76
+
77
+ # Choose what kind of storage to use for this uploader:
78
+
79
+ storage :file
80
+
81
+ # storage :fog
82
+
83
+
84
+
85
+ # Override the directory where uploaded files will be stored.
86
+
87
+ # This is a sensible default for uploaders that are meant to be mounted:
88
+
89
+ def store_dir
90
+
91
+ "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
92
+
93
+ end
94
+
95
+ ```
96
+
97
+
98
+
99
+ ```Ruby
100
+
101
+ recipe.rb
102
+
103
+
104
+
31
- mount_uploader :image, ImageUploader
105
+ mount_uploader :image, ImageUploader
32
106
 
33
107
  validation :image, presence: true
34
108
 
@@ -37,6 +111,8 @@
37
111
 
38
112
 
39
113
  ```HTML
114
+
115
+ edit.html.erb
40
116
 
41
117
  <%= form_for @recipe do |f| %>
42
118
 
@@ -62,6 +138,22 @@
62
138
 
63
139
 
64
140
 
141
+ #確認したこと
142
+
143
+ uploadフォルダには画像は存在していますが、
144
+
145
+ 更新後、mysqlはNullとなっています。
146
+
147
+ edit.html.erbには画像のURLは存在しています。
148
+
149
+ updateで更新後、pryで止めましたが、Nullになっています。
150
+
151
+
152
+
153
+ ![更新後のログ](513c60a2d95eaa6a5879b18d0829142e.png)
154
+
155
+
156
+
65
157
  ##version
66
158
 
67
159
  Rails 5.2.4.1