-2
に失敗したユーザーはアップデート後の私のjavascriptた:私のルートでRubyは以下の
$('.attachments-container').on('click', '.cover-attachment', function(event) {
var attachment_id = $(this).parent().find('input[name="product_attachment[id][]"]').val();
$.ajax({
type: "POST",
url: "/products/update_cover",
dataType: "json",
data: attachment_id,
complete: function(){
console.log('change completed');
}
});
event.preventDefault();
})
:私のコントローラで
resources :products do
member do
match "update_cover", via: [:post]
post "update_cover" => 'products#update_cover'
end
end
を:
class ProductsController < ApplicationController
skip_before_action :authenticate_user!, only: [:result, :show]
def update_cover
@attachment_id = params[:attachment_id]
render :json => {:status => 'success'}.to_json
end
end
私が持っていましたこのエラーがどこから来るのかわからない:ActionController::RoutingError (No route matches [POST] "/products/update_cover"):
ありがとう!!
IDを含めるのではなく、どのように '/ products/update_cover'として渡すことができますか? – d3bug3r
ルートを変更するには、製品のネストを解除してproduct_update_coverという名前を付ける必要があります。それはちょうど "product_update_cover" => "products#update_cover"の投稿になります。そして、IDをデータハッシュに渡します。私はこのオプションをお勧めしたいとは思っていません。それは大暴落の大会です。ルートを設定してレイクルートを実行して結果を表示すると、それらをどのように構造化するかがわかります。 – margo