こんにちは、プログラミング初心者です。
説明不足や言葉の使い方が間違っている事があるかと思いますが、
何卒よろしくお願い致します。
#前提
以下の環境でフリマサイトを作成しておりました。
開発環境:Cloud9
APPサーバ:Puma
Ruby 2.4.0 Rails 5.1.6
mysql Ver 14.14 Distrib 5.5.57(development)
Cloud9では操作上異常はありませんでした。
それを今回以下の環境にデプロイしました。
サーバ:AWS EC2
Webサーバ:Nginx
APPサーバ:unicorn
Ruby 2.4.0 Rails 5.2.1
mysql Ver 14.14 Distrib 5.5.61(production)
すると、商品の削除ができなくなりました。
production.rbのログを確認すると、なぜかDELETEではなくGETになっておりました。
https://qiita.com/yuskamiya/items/ee5280dfcbca9d7216ae
上記のサイトを参考にし、application.jsに
//= require jquery_ujs
を追加したり、
views/layouts/application.html.erbに
javascript_include_tag 'application'
があるか確認を行いました。
上記の二点を修正後再度商品の削除を行おうとしたのですができませんでした。
#application.etml.erb
html
1<head> 2 <title>Market</title> 3 <%= csrf_meta_tags %> 4 <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 5 <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
#application.js
js
1//= require turbolinks 2//= require_tree 3//= require jquery 4//= require rails-ujs 5//= require bxslider
#product.html.erb
html
1 <%= link_to "出品を削除する", user_product_path(@product), method: :delete, class: "button2" %>
#products_controller.erb
ruby
1def destroy 2 @product = Product.find(params[:id]) 3 4 if @product.delete 5 flash[:success] = "商品を削除しました" 6 redirect_to top_path 7 else 8 flash[:danger] = "商品削除に失敗しました" 9 redirect_to user_product_path 10 end 11 end
#routes.rb
ruby
1 get '/users/products/:id', to: 'users#product', as: :user_product 2 3 delete '/users/products/:id/', to: 'products#destroy'
関係してそうなコードはこの辺りかと思います。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/27 09:53
2018/09/27 10:03
2018/09/27 10:34