我有這樣的jQuery代碼:路線AJAX軌麻煩
$(".quantity").blur(function() {
console.log("upd");
$.ajax({
url: "/line_items/update_quantity/",
type: "GET",
data: {id: $(this).attr('id'), quantity: $(this).attr('quantity'), cart: $(this).attr('cart')}
});
});
但這個代碼生成我這樣的網址:
.../line_items/update_quantity/ID = 29 &量= 111 &車= 27
但我需要這樣的網址:
.../line_items/update_quantity/ID = 28 &量= 2 &購物= 27
無?
A具有這樣的路線:
匹配 'line_items /:動作/ ID =:ID &量=:量&購物=:購物車'=> 'line_items#update_quantity'
我試過了,但沒有任何結果。請幫幫我。
def update_quantity
@cart = current_cart
@line_item = LineItem.find(params[:id])
respond_to do |format|
if @line_item.update_attribute(:quantity, params[:quantity]) #&& @cart.id == params[:cart]
format.html { redirect_to(@line_item, :notice => 'Line item was successfully updated.') }
format.js
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @line_item.errors, :status => :unprocessable_entity }
end
end
end
恕我直言,你不應該建立這樣的路線。除了進入你已經擁有的小問題之外,你也無法改變參數定義的順序。 – rubish
@rubish你說的是什麼? – byCoder
首先,更新命令應該是PUT/POST,而不是GET。這不是很安全。其次,你需要更好地理解軌道佈線,如下所示:http://guides.rubyonrails.org/routing.html – corroded