簡體   English   中英

Rails形成動作和路線

[英]Rails form action and routes

我有一個需要參數的控制器操作,必須同時通過get和post訪問。 有了它看起來像:

get 'cart/add:id,:qty' => 'cart#add', as: :addToCart

控制器動作是:

def add
 product = Product.find(params[:id])

 if ::AddToCart.new(@cart, product, params[:qty]).execute
   flash[:succes] = "Product(s) added."
 else
   flash[:failure] = "Product cannot be added."
 end  

 redirect_to request.referer
end

如果我希望它使用相同的操作,發布路線應該如何?

PS:當僅添加一種產品時,我將獲取版本用作link_to,因此需要發布路線,因為數量未知

您應嚴格將其設為發布路線。 如果需要,可以在未提供數量時將其默認設置為1。 或者,當他們單擊“添加一個”鏈接時,使用ajax發布數量為1的路由。 這樣,它看起來和看起來像是常規的link_to鏈接,但是您仍然可以享受到僅通過POST更新數據並保持所有實際GET請求完全冪等的好處。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM