前提・実現したいこと
railsで画像投稿機能を作っています。
postsテーブルのカラムimage_nameに"#{@post.id}.jpg"を入れて、同時にpublicフォルダ内に"#{@post.id}.jpg"という名前の画像ファイルを作る処理を書いています。
しかし画像が表示されません。
データベースを見たところ、image_nameがNULLになっていました。しかし、publicフォルダ内に"#{@post.id}.jpg"という画像ファイルは正しく作られています。
なぜimage_nameがNULLになってしまうのか、ご教授いただきたいです。
該当のソースコード
controller
1 def create 2 @post=Post.new(content: params[:content], 3 user_id: @current_user.id, 4 title: params[:title]) 5 6 if @post.save 7 if params[:image] 8 @post.image_name="#{@post.id}.jpg" 9 image=params[:image] 10 File.binwrite("public/post_images/#{@post.image_name}",image.read) 11 end 12 flash[:notice]="投稿しました" 13 redirect_to("/users/#{@current_user.id}") 14 else 15 render("/posts/new") 16 end 17 end
html
1 <% if @post.image_name %> 2 <img src="<%= "/post_images/#{@post.image_name}" %>"> 3 <% end %>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。