RailsのTwitterクローンをつくっています。
AWSのEC2に無事デプロイすることができたのですが、ローカル環境ではうまくいっていた動作が
本番環境でうまくいきません。
写真付きの投稿をビューから<input>でコントローラーに送り、
public配下のpost_imagesフォルダに保存するようにしています。
本番環境でテキストのみの場合は保存できましたが、写真をつけた際のみエラーになります。
なにかおかしいところがあればご指摘いただけたら幸いです。
new.html.erb
Rails
1 <%= form_tag("/posts/create", {multipart: true}) do %> 2 <div class="form"> 3 <div class="form-body"> 4 5 <textarea name="content"></textarea> 6 <div class="file"> 7 <i class="fa fa-camera"></i> 8 写真選択 9 <input name="image" type="file"> 10 </div> 11 <input type="submit" value="投稿"> 12 13 </div> 14 </div> 15 <% end %>
posts_controller.rb
def new @post = Post.new end def create @post = Post.new( content: params[:content], user_id: @current_user.id ) if @post.save if params[:image] @post.image_name = "#{@post.id}.jpg" image = params[:image] File.binwrite("public/post_images/#{@post.image_name}",image.read) end @post.save flash[:notice] = "投稿しました" redirect_to("/posts/index") else render("posts/new") end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。