繁体   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