simple_form post data to member action

一般用simple_form_for去post資料時是這樣子用

simple_form_for @product do |f|
end

在有namespace(有另外用資料夾包起來的)的情況下是下面這樣

simple_form_for [:admin , @product] do |f|
end

route是長這樣

routes.rb
namespace :admin do
  resources :products
end

用simpler_form_for要指定member_action時是這樣用

routes.rb
 resources :products do
     member do
       post :request_product_quantity
       post :add_product_to_cart
     end
   end
simple_form_for [add_product_to_cart , @product],method: :post do |f|
end

把member_action加在model參數前面,然後後面要指定http verb。
因為官方的github上沒有特別講到這一件事,所以遇到這個問題時就卡了一下~
實作出來後其實比想像中的簡單就是。

comments powered by Disqus